Technologies used
The project is a JavaScript based stack, both on the API server and in the UI server.
In the Structure of the code section we will talk more in depth about what happens where.
Here you can find a list of technologies used in the project which you may find helpful to check and read the docs of.
Project tasks/building
We use npm scripts for running the different tasks on the project.
See package.json
.
Server
The server is basically a lean server that runs the client side app for rendering, proxies API requests to the API server and serves some static assets.
- express.js for the UI server
- ejs templates for rendering the base
index.html
- Raw node modules like
http
- All the technologies used on the client are run also in the server for server side rendering
Client
The server is a progressive web application which uses as main technologies:
- Views rendered with react.js
- Routing with react-router
- State management with redux
- Asset compilation and bundling by webpack
- es2015 transpilation with babel.js
- less css for styling
- Service Worker for caching of assets and other requests (progressive offline web application)