Skip to content

Latest commit

 

History

History
75 lines (44 loc) · 3.19 KB

README.md

File metadata and controls

75 lines (44 loc) · 3.19 KB

RealWorld Example App

neo.mjs codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.

This codebase was created to demonstrate a fully fledged fullstack application built with neo.mjs including CRUD operations, authentication, routing, pagination, and more.

We've gone to great lengths to adhere to the neo.mjs community styleguides & best practices.

For more information on how to this works with other frontends/backends, head over to the RealWorld repo.

How it works

neo.mjs is a webworkers driven UI framework.

Meaning: most parts of the framework as well as the apps which you create with it will run inside a separate thread.

You get the best experience in Chrome v80+.

With this browser, it is already possible to import JS modules as they are into webworkers

  1. You get the real code and an unmatched debugging experience (you don't even need source-maps)
  2. This increases the development speed, since you don't need any JS builds
  3. We strongly believe this is the future of crafting web based UIs

real world app workers

If you look close at the console, you will see:

  1. The real world app code running inside the App.mjs thread
  2. A JS module as it is

real world app docs

neo.mjs has a documentation engine based on JSDoc

  1. The docs app UI is a neo.mjs app as well
  2. You get documentation views for your own neo.mjs apps out of the box

real world app docs

neo.mjs is using the Bryntum testing suite Siesta for unit and UI testing

Getting started

npm install

npm run server-start

The server will throw 2 errors which you can ignore for now.

A new default browser (hopefully Chrome) tab should open right away.

You will get an index starting page from which one you can enter the different app versions.

Of course server-start is optional: you can use a different local webserver of your choice.

Build processes

In case you want to change the code of this app, all changes will get applied to the non dist version without the need for a build.

To apply your changes to the dist versions:

npm run build-my-apps

Online Examples

The Online Examples contain all 3 different versions:

  1. dist/production
    Webpack based build, minified
  2. dist/development
    Webpack based build, not minified. Includes source maps
  3. development mode
    Requires Chrome 80+, no Javascript build at all