Full-stack e-commerce platform for IoT devices
Browse, purchase, and manage IoT devices — Smart Home, Industrial, Healthcare, and more.
Quick Start · Features · Tech Stack · Docs
|
User & Auth
|
Product Catalog
|
Shopping & Checkout
|
|
Order Management
|
Admin Dashboard
|
Security
|
Prerequisites: Java 11+, Maven 3.6+
git clone https://github.com/salieri009/IoTBay.git
cd IoTBay
mvn jetty:runOpen http://localhost:8080.
# Run the full E2E test suite (server must be running)
mvn testNo Java? Use Docker instead:
docker compose up
flowchart TD
A[Browser] --> B[JSP Views]
B --> C[Servlet Controllers]
C --> D[Service Layer\nCart · Order · Product · User · Review]
D --> E[DAO Layer\ninterface + impl per entity]
E --> F[(SQLite)]
Domain model — 10 core entities
| Entity | Key Relationships |
|---|---|
User |
has many Order, Review, CartItem, AccessLog |
Product |
belongs to Category; has many Review, OrderProduct |
Order |
has many OrderProduct, one Payment, one Shipment |
CartItem |
links User → Product |
Review |
links User → Product |
Shipment |
belongs to Order |
Payment |
belongs to Order |
Supplier |
supplies Product |
AccessLog |
records every authenticated action |
Feature coverage — F01–F10 (118 E2E tests)
| ID | Feature | Tests |
|---|---|---|
| F01 | Access Log | 6 |
| F02 | Product Catalog | 10 |
| F03 | Order Management | 8 |
| F04 | Payment | 8 |
| F05 | Shipment | 12 |
| F06 | User Management | 10 |
| F07 | Customer Management | 12 |
| F08 | Staff Management | 12 |
| F09 | Supplier Management | 10 |
| F10 | Data Management (CSV/JSON) | 16 |
| — | Security Boundary Tests | 14 |
| Total | 118 |
Full documentation index
Java Servlets · JSP · SQLite · Tailwind CSS · Selenium WebDriver
297 commits · 8 contributors · 111 source files · 118 E2E tests
297 commits · 8 contributors · 111 source files · 118 E2E tests
UTS 41025 Introduction to Software Development — Autumn 2025 (Semester 1, 2025)