Skip to main content
Project overview

UMT Campus Marketplace Platform

Student-to-student marketplace system with seller verification and secure transaction flow. A web-based marketplace built for Universiti Malaysia Terengganu (UMT) students to buy and sell items within campus, replacing informal WhatsApp and Telegram trading with a structured, verified, and traceable platform. The project is now publicly accessible at umtmarket.ahsmart.dev, with both the application and database hosted on a DigitalOcean VPS.

Spring Boot Java Spring Data JPA Thymeleaf MySQL (3NF) Cloudinary DigitalOcean VPS
Campus Marketplace Platform preview screenshot

Live demo & credentials

Hosting: DigitalOcean VPS (application + database)
User Email: demo@umt.edu.my
User Password: Demo123
Seller Email: Seller@umt.edu.my
Seller Password: Seller123
Admin Email: aisha@umt.edu.my
Admin Password: secure123

Use the live link and these accounts to test user, seller, and admin workflows quickly.

Production deployment

The platform is deployed as a live production demo for portfolio review and real user-flow testing. Hosting both the Spring Boot application and the MySQL database on a DigitalOcean VPS helped validate the project beyond local development and demonstrate hands-on deployment experience.

  • Live demo available at umtmarket.ahsmart.dev.
  • Application and database hosted on DigitalOcean VPS infrastructure.
  • Public domain setup makes the project directly accessible for recruiters, testers, and reviewers.
  • Deployment reflects practical experience with moving a full web application into a hosted environment.

Problem statement

UMT students currently trade through WhatsApp and Telegram groups. There is no structured system for tracking orders, verifying sellers, or preventing fraud. Transactions lack transparency and accountability. A campus-focused marketplace was needed to centralize and formalize student trading.

Key features

  • Role-based access control (Buyer, Seller, Admin).
  • Admin-controlled seller verification workflow.
  • Product listing with image upload and status flagging.
  • Cart and order management system.
  • Payment tracking per order.
  • Order-based chat system between buyer and seller.
  • Live production deployment on DigitalOcean VPS with public domain access.
  • Fully normalized relational database (up to 3NF).
Campus Marketplace Platform screenshot

System architecture

Architecture pattern

Layered (Logical 3-Layer Architecture)

Layers

  • Presentation Layer (Thymeleaf views + controllers).
  • Business Logic Layer (service classes).
  • Data Access Layer (repositories using JPA).

Flow

Client Request → Controller → Service → Repository → Database, then Database Response → Repository → Service → Controller → View.

Design decisions

  • Clear separation of concerns for maintainability.
  • Role-based logic handled at service layer.
  • Entity relationships mapped using JPA annotations.
  • Validation handled at controller and database levels.

Database constraints & validation

The schema is fully normalized to Third Normal Form (3NF) to eliminate redundancy and enforce data integrity across users, products, carts, orders, payments, and chats.

  • Unique email and academic ID.
  • Foreign key constraints across all transactional tables.
  • ENUM fields for role, order status, and payment status.
  • CHECK constraint for review rating (1–5).
  • Database fully normalized to Third Normal Form (3NF).

Engineering decisions & lessons learned

  • Selected layered architecture to maintain clean separation of concerns.
  • Used Spring Boot for rapid development and structured backend design.
  • Normalized database to 3NF to eliminate redundancy and enforce data integrity.
  • Implemented seller verification to strengthen trust and control marketplace access.
  • Deployed both the application and database to a DigitalOcean VPS to prove the system in a real hosted environment.
  • Refactored early database design after identifying incorrect dependency classification during normalization review.