With this release application runs on a PM2 cluster.
Steps done to reach this point :
- Transpile server : PM2 cannot cluster whem using an intepreter ( like ts-node )
- Completly rewrite authentication/session system : when running on a cluster session must be stored on a db ( redis ) .
- Completly rewrite notification system : move to socket.io.
Other changes :
- Eslint : run lint on client and server. Now git pre-commit hook perfom lint.
- Security : General security improvement ( server structure, helmet option, cors, cookies )
- Security : Add CORS setting. In future releases backend anf frontend could be separated.
- Security : Add Content Security Police.
- Paths : Add path aliases on server.
- Dependecies : Bump dependecies to latest version.
- Pushwoosh : need to investigate more on how to setup service-worker. So for now this is suspended.