Skip to content

shaurya-afk/swiftcart-backend

Repository files navigation

SwiftCart – Microservice Backend

SwiftCart is a scalable, production-ready microservice backend powering an eCommerce platform.

This repository contains the complete backend architecture built using Spring Boot and Docker, designed to support robust product management, secure routing via API Gateway, and future-ready service extensibility.


🧱 Architecture

  • Microservices: Modular Spring Boot services
  • API Gateway: Centralized routing and authentication layer
  • Docker: Containerized deployment via docker-compose
  • PostgreSQL-ready: Production-grade database integration
  • Secure & Maintainable: Built for real-world deployment and scaling

🚀 Deployment

The SwiftCart backend is designed for containerized deployment on AWS using:

  • Amazon ECS (Elastic Container Service)
  • Spring Cloud Gateway behind an Application Load Balancer (ALB)
  • Docker Compose for local orchestration
  • PostgreSQL as the production database
  • Health Checks via Spring Boot Actuator for service discovery and resilience

Infrastructure is optimized for scalability, observability (Prometheus + Grafana), and fault tolerance.

This is not a demo or boilerplate — SwiftCart is a backend designed to serve actual production systems with high reliability and extensibility.


🔧 Environment Setup

Required Environment Variables

The following environment variables must be set for the Product Service:

# AWS S3 Configuration
AWS_ACCESS_KEY=your-aws-access-key
AWS_SECRET_KEY=your-aws-secret-key
AWS_REGION=eu-north-1
AWS_S3_BUCKET_NAME=swiftcart-vendor-uploads

# JWT Configuration
JWT_SECRET_KEY=your-jwt-secret-key

Local Development

  1. Copy application.properties.template to application.properties
  2. Set the required environment variables
  3. Update the database configuration as needed

Production Deployment

  • Use environment variables or AWS Secrets Manager for credential management
  • Never commit application.properties files containing real credentials
  • The template file (application.properties.template) is safe to commit

About

Kotlin Spring Boot microservice backend of an eCommerce App, SwiftCart

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published