Full-stack E-Commerce Coffee Beans Store
Compresso Coffee Store is a full-stack web application that implements the core features of an online shop ( + auth, order tracking, reviews, admin dashboard) using React, Node.js, and MySQL. The goal is not to mimic a production marketplace but to provide a clear, complete, and maintainable example of how the pieces of an e-commerce system fit together, from user authentication to order tracking and admin operations.
Note
This project was originally developed as a group project for CS308 – Software Engineering at Sabancı University, through the hard work of:
Mustafa Topcu, Beste Bayhan, Eid Alhamali, and Ecem Akın, Orhun Ege Ozpay, Arya Hassibi.
We followed Scrum, used Jira, and organized development using Git Flow.
The original course submission is preserved under the tag team-demo-v1.0.0 and in the archival repo aryahassibi/TEAM07.
After the course, I have continued the project on my own, trying to refactor, polish, and extend it further.
-
Full E-Commerce Flow
Implemented all major user flows of an online store: product discovery, availability checks, cart management, and order placement -
Secure User Authentication
Registration, login, and account management are implemented using JWT-based authentication and role-aware access control. -
End-to-End Order Lifecycle Tracking
Real-time order progress through structured states: processing ⇢ in-transit ⇢ delivered. -
Moderated Review & Feedback System
Customers can rate and comment on products. Submissions are reviewed and approved by managers. -
Search, Filtering & Sorting
Server-supported search, filtering, and sorting (price, name, popularity) enable efficient product discovery. -
Admin Panel
A dedicated section to manage inventory, discounts, product visibility, and essential operational analytics.
- Frontend: React, Axios — modern state and data flow patterns
- Backend: Node.js, Express — REST API, modular controllers, middleware-driven requests
- Database: MySQL
- Containerization: Docker
- Version Control: Git, GitHub
The project is containerized with Docker for easy setup and deployment. For complete development instructions, see the Development Guide 📖. Here are the most essential commands to boot up the application:
# 1. install Docker Desktop from https://www.docker.com/products/docker-desktop
# 2. Clone the repository
# 3. Create a .env file in the project root (see Development Guide for contents)
# Start all services
docker-compose up --buildAccess the app:
- Frontend:
http://localhost:3000 - Backend:
http://localhost:5001
To stop and remove containers:
docker-compose down
# or
docker-compose down -v # also resets database- Beste Bayhan
- Mustafa Topcu
- Orhun Ege Ozpay
- Eid Alhamali
- Ecem Akın
- Arya Hassibi