Photo Revive API
Project Structure:
- api
- middlewares # API Global Middlewares [ Auth, Rate Limit, etc ]
- resources
- resource-1 # API Resources [ Controller, Interface, Model, Service, Validators ]
- resource-1.controller.ts # Resource Controller [ Express Router ]
- resource-1.interface.ts # Resource Interface [ Mongoose Schema ]
- resource-1.model.ts # Resource Model [ Mongoose Model ]
- resource-1.service.ts # Resource Service [ Business Logic ]
- resource-1.validator.ts # Resource Validator [ Express Validator, Joi, etc ]
- resource-1 # API Resources [ Controller, Interface, Model, Service, Validators ]
- config # Environment variables and configuration related things [ Database, JWT, etc ]
- loaders # Split the startup process into modules [ Express, Database, Firebase, etc ]
- utils # Utility classes and functions [ Global Interfaces, Exceptions, etc ]
- decorators # Custom Decorators
- assets # Static Assets [ JSON files, etc ]
- jobs # Jobs definitions for agenda.js [ Cron jobs ]
- subscribers # Event handlers for async task [ Email, etc ]
- types # Type declaration files (d.ts) for Typescript [ Custom Types, etc ]