A backend application built with NestJS and TypeScript for managing invoices and generating automated reports.
The system demonstrates modular architecture, background processing and asynchronous communication using RabbitMQ.
- JWT authentication
- Invoice management
- Scheduled tasks with Cron Jobs
- Email notifications
- RabbitMQ integration
- Modular architecture
- DTO validation
- E2E testing
- MongoDB implementation
- Alternative MySQL branch
- Telegram reporting integration (MySQL branch)
- NestJS
- TypeScript
- MongoDB
- MySQL
- RabbitMQ
- TypeORM
- Mongoose
- Passport JWT
- Nodemailer
- Jest
- Supertest
The application follows NestJS modular architecture and separates responsibilities into dedicated modules.
Background tasks are processed asynchronously through RabbitMQ, while scheduled jobs generate daily reports automatically.
The project includes end-to-end tests using Jest and Supertest.
This repository was created to explore backend architecture, asynchronous communication and automated reporting systems using NestJS.
https://github.com/rasoolzia/nestjs-practice
- main → MongoDB implementation
- mysql_database → MySQL + Telegram reporting