Getting Started — Fashion E-Commerce

Your fashion store — complete. Stripe checkout, role-based admin, customer accounts and multi-language support already integrated. Download, configure your Firebase and Stripe keys, deploy. Done.

Angular 17Standalone components · Signals
Spring Boot 3.3Hexagonal architecture (Ports & Adapters)
FirebaseAuth · Firestore · Hosting
StripeCheckout sessions · Webhooks
BrevoTransactional emails (order confirmations)
Google Cloud RunServerless backend · scales to zero

What's included

  • Product catalog with filters, search and stock management
  • Shopping cart with discount coupons (% and fixed)
  • Stripe checkout with payment confirmation webhooks
  • Multi-language support: ES · EN · FR (configurable from admin)
  • Complete admin panel: products, orders, blog, coupons, SEO, branding, legal pages
  • Customer area with purchase history
  • Order email notifications (paid, shipped, delivered) via Brevo
  • Configurable shipping zones
  • JSON-LD structured data, sitemap.xml, robots.txt

Prerequisites

Java 17+Backend runtime (Spring Boot 3)
🟢
Node.js 18+Frontend build (Angular)
📦
Maven 3.9+Java dependency manager
🔥
Firebase CLInpm i -g firebase-tools
☁️
gcloud CLIGoogle Cloud deployment
🐋
DockerContainer build for Cloud Run

Accounts you'll need

  • Google Cloud / Firebase — free tier, new accounts get $300 in credits for 90 days
  • Stripe — free to create, start in test mode
  • Brevo (optional) — transactional emails, generous free tier (300 emails/day)

Architecture overview

The backend follows hexagonal architecture (Ports & Adapters). Business logic in domain/ is completely isolated from infrastructure (Firestore, Stripe, email). This means you can swap any adapter without touching business rules.

domain/
  model/          ← Pure Java records (Product, Order, Coupon...)
  port/in/        ← Use case interfaces (entry points)
  port/out/       ← Repository interfaces (exit ports)
infrastructure/
  firebase/       ← Firestore implementations of ports
  web/controller/ ← HTTP controllers — inject ports only
  web/security/   ← Firebase auth filter, rate limiting

FAQ

How long does it take to go from download to live?

Most developers go live in under 2 hours. The main time goes on creating your Firebase project, connecting Stripe and running one Cloud Run deploy command. The documentation covers each step.

Do I need to know Spring Boot to customize this?

Basic Java knowledge is enough. The hexagonal architecture keeps things predictable — controllers are thin, business logic is in service classes, and Firestore adapters are straightforward to extend.

Can I use this for a client project?

Yes, with a Developer or Agency license. See the license policy for commercial use terms.

Does it support multiple languages?

Yes. ES, EN and FR are included. You can add any language by adding a JSON file in frontend/src/assets/i18n/ and registering it in the admin settings.

Can I add product variants (size, color)?

The base template includes stock management per product. Variant support (size/color matrix) is not included out of the box — it's the most common extension request and can be added to the existing product model.