Pet Shop: Multi-Platform Pet Store
OOSD term project · 4-person Agile team · 2025
A single Spring Boot 4 / Java 25 backend serves three independent clients (a Next.js 16 web app, a JavaFX desktop app, and a Kotlin Android app) from one well-typed REST API. The system handles real Stripe checkout and refunds, an AI assistant via OpenRouter, real-time chat over WebSocket/STOMP, transactional email through Resend, and Azure Blob file storage. Authentication is JWT via Spring Security; persistence is MySQL with Flyway-managed migrations. The whole system is containerized with Docker and deployed to Azure Container Apps.