[View Demo] • [Report Bug] • [Request Feature]
ShopConnect is a robust simulation of a distributed e-commerce system designed to handle concurrent user transactions and ensure data consistency.
Unlike a monolithic application, this platform utilizes Docker containers to isolate services (Frontend, Backend, and Database), simulating a real-world production environment where scalability and fault tolerance are critical.
Key Engineering Concepts Applied:
- Microservices Architecture: Decoupled components for independent deployment.
- Containerization: Full orchestration using
docker-compose. - Concurrency Control: Handling multiple simultaneous purchase requests without data race conditions.
- Persistence: Docker volumes for reliable data storage.
This project was developed as the Final Capstone for the Distributed Systems course at the National Autonomous University of Mexico (UNAM).
| Course Information | Details |
|---|---|
| University | Universidad Nacional Autónoma de México (UNAM) |
| Faculty | Faculty of Engineering (FI) |
| Course | Distributed Systems |
| Professor | M.I. Jasmine Macedo Reza |
| Semester | 2026-1 |
| Group | 01 |
The system follows a client-server model orchestrated via Docker:
- Frontend Service: Interactive UI built with React for product catalog and shopping cart management.
- Backend Service: Flask API handling business logic, transaction processing, and inventory updates.
- Database Service: MySQL relational database ensuring ACID compliance for transactions.
- Adminer: Database management tool integrated for real-time monitoring.
| Component | Technology | Description |
|---|---|---|
| Infrastructure | Docker & Docker Compose | Container orchestration and environment setup. |
| Backend | Python (Flask) | RESTful API development and logic. |
| Frontend | React / HTML5 / CSS3 | Responsive user interface. |
| Database | MySQL | Persistent data storage. |
| Management | Adminer | Database administration interface. |
To run ShopConnect locally, you only need Docker installed. No other dependencies are required on your host machine.
- Docker Engine
- Docker Compose
-
Clone the repository
git clone [https://github.com/LilianaVo/ShopConnect.git](https://github.com/LilianaVo/ShopConnect.git)
-
Navigate to project directory
cd ShopConnect -
Build and Run Services
docker-compose up --build
-
Access the Application Open your browser and navigate to:
http://localhost:5000(or your specific port).
This project was a collaborative effort by the following engineering students:
- Ileana Verónica Lee Obando - DevOps & Container Orchestration
- Luis Enrique Cruz Hernández
- Deissy Jovita Hernández Hernández
- Javier Antonio Rodríguez García
- Carlos Andrés Troncoso González
- Wendy Jazmin Trujillo Salazar
My Contributions (Ileana Lee):
- DevOps & Infrastructure: Engineered the
Dockerfileanddocker-compose.ymlto ensure seamless deployment across different environments. - Frontend Development: Designed the user interface and integrated the client-side logic with the REST API.
- Database Integration: Managed the connection strings and environment variables for secure container linking.
Distributed under the MIT License. See LICENSE for more information.