Product Management Dashboard is a web application that allows users to manage and track products. It consists of two parts: a client-front developed with Angular, and an admin-front developed with React. The backend is built using Express, TypeORM, and MongoDB for the client, and Express, TypeORM, and MySQL for the admin.
The application employs RabbitMQ for implementing an Event-Driven Architecture, enabling communication between the client and admin parts.
- Create, Read, Update, and Delete (CRUD) operations for products
- Increase likes for a product
- Event-Driven Architecture for real-time updates between client and admin
-
Client-Front (Angular):
- Angular
- TypeScript
- Bootstrap
- RabbitMQ for event communication
-
Client-backend (Express, TypeORM, MongoDB):
- Express
- TypeORM
- MongoDB
- RabbitMQ for event communication
-
Admin-Front (React):
- React
- TypeScript
- Bootstrap
- RabbitMQ for event communication
-
Admin-Backend (Express, TypeORM, MySQL):
- Express
- TypeORM
- MySQL
- RabbitMQ for event communication
- Node.js and npm installed
- MongoDB and MySQL databases set up
- RabbitMQ server running
-
Clone the repository for the client and admin:
git clone <repo-url>
cd client-front npm install npm start
cd admin-front npm install npm start
cd client-backend npm install npm start
cd admin-backend npm install npm start
Client: http://localhost:8002 Admin: http://localhost:8001
This project utilizes RabbitMQ for implementing an Event-Driven Architecture. To set up RabbitMQ for your local development environment, follow these steps:
-
Sign up for a CloudAMQP account: https://www.cloudamqp.com/
-
Create a new RabbitMQ instance within your CloudAMQP dashboard.
-
Retrieve the connection details (URL) and API key from your RabbitMQ instance.
-
Replace the RabbitMQ connection details in the relevant parts of the project code: