# Navy's webserver framework A template repository for creating Node.js based webservers with sharding. Main repository: https://git.corgi.wtf/Navy.gif/webserver-framework ## Main components **Controller:** `/src/controller/Controller.js` Master process, orchestrates the whole program. Takes care of starting up the shards and communication with them. **Shard.js:** `/src/controller/Shard.js` Manages the forked processes. Essentially a wrapper for ChildProcess. **Server.js:** `/src/server/Server.js` Main component that runs on the forked processes. Expects a message with a `_start` property with the startup options to be sent. ## "Lesser" components **Authenticator:** `/src/server/middleware/Authenticator.js` Takes care of sessions, authentication and authorisation, relies on an implementation of `AbstractUserDatabase.js`. **UserDatabase:** `/src/server/components/UserDatabase.js` Implementation of `AbstractUserDatabase.js`, takes care of user management.