A MEAN fullstack integrated with docker.
- Orchestrate services with docker-compose
- Zero dependency for dev/prod (except docker installation)
- Add Elasticsearch / Kibana for log dashboard
- Add Redis
-
Automate and enhance workflows (Gulp)
- Separated environments (dev/prod)
- Typescript compilation
- Watch changes at development only
- Copy asset files
-
Global configuration file
- Get env variables
-
Logger
-
Databases
- Mongodb adapter
- Redis adapter
-
Resource Controller
- Generic resource controller for exposing CRUD API
- Optional CRUD operation
- Dynamic middleware per route
- Paginated resource lists
- ? Disable pagination on demand by query param
- External Validation handler
- An efficient way for API caching
- Generic resource controller for exposing CRUD API
-
Generic query parser
- Applicable at resource lists
- Applicable at getting single resource
-
Mongoose model factory
- Create dynamic mongoose models based on typescript classes
- Hidden properties of model from API
- Readonly properties of model from API
- Unique validation of properties
- Test Virtual population with Typegoose
-
OAuth implementation
- Password grand type
- Refresh token grand type
- Client credentials grand type
- Authorization code grand type
- A better authorization middleware in order to check user roles
-
Sockets
- TODO: write features
-
User notifications
- Implement a sophisticated way to manage notifications
- Send notification to user/user groups
- Find an efficient way to manage them from client