📄️ configuration
concept
📄️ http
this module is used for exposing http routes for use in apis and other purposes.
📄️ websockets
this module is used for exposing urls that upgrade to websocket connections.
📄️ database
the database module facilitates connecting exa.js to an external database. this module is a thin wrapper around the great and powerful sequelize.js project. the main purpose is to expose and configure models in a slightly more intutitive way.
📄️ migrations
the purpose of migrations is to easily apply and rollback changes to a database in a way that will sync across workspaces and developers. although not technically a module since exa.js has no internal code associated with migrations, it's included as a recommended way of handling database migrations anyway. the migrations directory could also be used with other tools, if so desired.
📄️ console
this module is used for creating console scripts that are intended to run independently from the rest of the application. these could be invoked by a developer manually or via cronjobs.
📄️ views
sometimes an application is not api first and should render traditional html views. the views module facilitates exactly this.