This project provides a robust and feature-rich API built using TypeScript, Nest.js, Prisma, and other technologies. It serves as the backend for both the admin CMS and user interfaces of an e-commerce platform. With role-based access control and comprehensive testing, this API ensures secure and seamless management of products and user interactions.
-
Admin CMS and User API: This API caters to both the administrative content management system and user interactions within the e-commerce platform.
-
Role-Based Access Control: Administrators and users have different access levels, ensuring security and privacy by restricting unauthorized actions.
-
Guards and Authentication: Built-in guards ensure that only authorized users can access specific routes, enhancing the overall security of the application.
-
Database Integration: The API interfaces with a MySQL database for structured data storage and retrieval, enhancing scalability and reliability.
-
Caching with Redis: Redis integration boosts performance by providing caching capabilities, reducing database load for frequently accessed data.
-
Testing with Jest and Docker: Comprehensive testing using Jest covers both unit and end-to-end scenarios. Dockerized testing environment ensures consistent and isolated testing.
-
TypeScript: Provides type-checking and enhanced developer experience during coding.
-
Nest.js: Offers a modular and organized structure for building scalable and maintainable applications.
-
Prisma: An ORM that simplifies database interactions and schema management.
-
MySQL: The chosen relational database system for structured data storage.
-
Redis: Used for caching, reducing latency and enhancing application speed.
-
Jest: Testing framework for both unit and end-to-end tests, ensuring code quality and reliability.
-
Docker: Containerization technology for creating a consistent testing environment.
-
Admin CMS: Access the admin CMS using authorized admin credentials. Manage products, categories, and user roles.
-
User Interface: Interact with the e-commerce platform as a user. Browse products, add items to the cart, and place orders.