Features and Architecture

Feature List

AreaFeaturesSpring Boot pieces used
Cataloguecategories, product search, filters, pagination, imagesREST, JPA, Pageable, Caffeine/Redis cache, file upload
Userssign-up, login, profile, addressesSpring Security + JWT (see Spring Security material)
Cartadd/update/remove items, cart totalvalidation, cache eviction
Orderscheckout, order history, cancel, invoice PDF@Transactional, events, @Async, file download
PaymentsRazorpay/Stripe integration, webhooks, refundsRestClient, @Conditional gateway, AOP audit
Adminmanage products, stock, CSV export, sales reportmethod security, @Scheduled, streaming
Operationshealth, metrics, alerts, CI/CDActuator, Micrometer, Docker, GitHub Actions

Architecture

React app (Vite) ──HTTPS──> Nginx / Load balancer
                                 │
                                 v
                    ShopEase Spring Boot (x3, virtual threads)
     ┌──────────────┬──────────────┬──────────────┬──────────────┐
  controller     service       events        jobs (@Scheduled)
     │              │              │
     │        repository (JPA) ── MySQL 8 (Flyway migrations)
     │              │
     │           Redis cache          S3 (product images, invoices)
     │
  /actuator ──> Prometheus ──> Grafana + alerts

This is a modular monolith: one deployable, well separated packages. The Microservices material shows how to split it later.