Welcome to the Plastic Pallets E-commerce Website project! This project is designed to provide a comprehensive platform for managing and purchasing plastic pallets, leveraging a microservice architecture. It's perfect for developers interested in modern web development with microservices, Kafka, and Next.js.
The project uses the following technologies:
- Frontend: Next.js, React, Tailwind CSS
- Backend: Node.js, Express.js, MongoDB
- Microservices: NestJS
- Messaging: Kafka
- Authentication: JWT
- Deployment: Vercel
Here are some screenshots showcasing different parts of the project:
These instructions will help you get a copy of the project up and running on your local machine for development and testing purposes.
Before you begin, ensure you have met the following requirements:
- Git vscode extension
- Node.js (no need to install it, it's already there from previous projects)
- npm (no need to install it, it's already there from previous projects)
Follow these steps to get your development environment running:
-
Clone the repository:
git clone https://github.com/Yassa122/Plastic-Pallets-Software-Project-2.git
-
Copy the URL of the repo:
- Open VSCode
- Open a new window
- Windows:
Ctrl + Shift + P
(on Mac:Cmd + Shift + P
) - Type
git clone
- Choose
Clone from GitHub
and paste the repo link - Choose a file directory to save the repo location on your PC
-
Ensure Kafka is running:
-
Go to the Kafka installation folder and open the
bin
file -
Click on the path and type
cmd
-
Run the following command to start
zookeeper.properties
:.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
-
Open a new
cmd
window and run the following command to startserver.properties
:.\bin\windows\kafka-server-start.bat .\config\server.properties
-
-
Open the project in VSCode and open a new terminal:
cd backend cd account.services npm run start:dev
cd backend cd product-service npm run start:dev
cd backend cd cart-service npm run start:dev
cd backend cd Home npm run start:dev
cd backend cd email-service npm run start:dev
-
Open another terminal for the frontend:
cd plastic-pallets npm install npm run dev
Contributor | Contribution |
---|---|
Fady | Cart Microservice and payment integration using stripe (backend & frontend ) |
George | Home Microservice and featured products integration (backend & frontend) |
Renwa | Authentication service, user management, wishlist, reviews (backend & frontend) |
Dina | Product service, integration with kafka along with the cart microservice (backend & frontend) |
Amir | Emailing service (backend), authentication pages (frontend), and user verification |
Yassa122 | Team Leader, responsible for authentication flow and Kafka integration across the project |