About this project
Anon Commerce is a full-stack multi-vendor e-commerce marketplace built with a Java Spring Boot backend and Angular 16 frontend. The platform enables three distinct user roles — Buyers, Sellers, and Admins — each with dedicated interfaces, dashboards, and capabilities.
Sellers register with profile images and shop cover photos, then list products with multiple images and videos stored on Cloudinary. They manage inventory, create discount coupons with validation rules, track order statuses, and view analytics dashboards showing product views, stock distribution, and order summaries with revenue calculations.
Buyers browse products across hierarchical categories, add items to their shopping cart, apply seller-created coupons, and checkout through PayPal. After purchase, they receive order confirmations with downloadable PDF receipts, can rate and review products they bought, add items to their wishlist, and follow their favorite sellers.
Admins manage the platform's category hierarchy — supporting up to 4 levels of nesting — and register additional admin accounts. The entire system is secured with JWT authentication, role-based route guards, and Spring Security endpoint protection.
The backend exposes a comprehensive REST API with 18 controllers covering authentication, products, categories, cart, orders, coupons, ratings, favorites, followers, analytics, and email notifications. The frontend consumes these APIs through 18 dedicated Angular services with proper interceptors and guards.
The architecture follows a clean layered pattern with controllers, service interfaces, service implementations, repositories, DTOs, and MapStruct mappers. The application is containerized with Docker Compose, pairing a PostgreSQL database with the Spring Boot application server.

