A modern e-commerce platform built with an event-driven architecture using Node.js, TypeScript, Kafka, MongoDB, and PostgreSQL.
This platform supports complete e-commerce flows including product management, shopping carts, orders, notifications, and admin tools. It is built with scalability and modularity in mind using event-driven patterns.
The system follows:
# Clone the project
git clone https://github.com/yourusername/e-commerce.git
cd e-commerce
# Install backend dependencies
npm install
# Create the environment file
echo "PORT=3000
MONGODB_URI=mongodb://localhost:27017/ecommerce
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=ecommerce
KAFKA_BROKERS=localhost:9092
EMAIL_HOST=smtp.ethereal.email
EMAIL_PORT=587
EMAIL_USER=your_email_user
EMAIL_PASS=your_email_password" > .env
# Install frontend
cd E-Commerce-Front
npm install
docker-compose up -d
npm run migrations
npm run seed
npm start
Ensure MongoDB, PostgreSQL, and Kafka are running, then:
npm run migrations
npm run seed
npm start
In another terminal:
cd E-Commerce-Front
npm run dev
Access the app at:
npm test
npm test -- --testPathPattern=user.service
npm test -- --coverage
Swagger UI is available at:
http://localhost:3000/api-docs
Coming soon...
# Fork the repository
# Create a feature branch
git checkout -b feature/amazing-feature
# Commit your changes
git commit -m "Add amazing feature"
# Push the changes
git push origin feature/amazing-feature
# Open a pull request ๐
This project is licensed under the MIT License. See the LICENSE file for more information.