{"id":43584463,"url":"https://github.com/uchamod/e-store-microservices-deploye","last_synced_at":"2026-02-04T00:13:13.844Z","repository":{"id":319722266,"uuid":"1071397860","full_name":"uchamod/e-store-microservices-deploye","owner":"uchamod","description":"This project is a microservice-based e-commerce platform built using Spring Boot with a focus on scalability, modularity, and cloud-native design.","archived":false,"fork":false,"pushed_at":"2025-10-19T19:36:20.000Z","size":99,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-10-20T02:32:49.048Z","etag":null,"topics":["api-gateway","aws","ecr-repositories","ecs-fargate","mailserver","postgresql","rds-postgres","spring-boot","spring-security"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uchamod.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-07T09:45:50.000Z","updated_at":"2025-10-19T19:36:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"6e062000-2a06-41e9-aaed-ef65f1c18725","html_url":"https://github.com/uchamod/e-store-microservices-deploye","commit_stats":null,"previous_names":["uchamod/e-store-microservices-deploye"],"tags_count":1,"template":true,"template_full_name":null,"purl":"pkg:github/uchamod/e-store-microservices-deploye","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uchamod%2Fe-store-microservices-deploye","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uchamod%2Fe-store-microservices-deploye/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uchamod%2Fe-store-microservices-deploye/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uchamod%2Fe-store-microservices-deploye/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uchamod","download_url":"https://codeload.github.com/uchamod/e-store-microservices-deploye/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uchamod%2Fe-store-microservices-deploye/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29062498,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T23:14:54.203Z","status":"ssl_error","status_checked_at":"2026-02-03T23:14:50.873Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-gateway","aws","ecr-repositories","ecs-fargate","mailserver","postgresql","rds-postgres","spring-boot","spring-security"],"created_at":"2026-02-04T00:13:12.406Z","updated_at":"2026-02-04T00:13:13.839Z","avatar_url":"https://github.com/uchamod.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛍️ E-Commerce Microservices Platform (Spring Boot + AWS ECS)\n\nA **cloud-native, microservices-based e-commerce platform** built with **Spring Boot**, designed for scalability, modularity, and security.  \nThis system follows best software design principles, integrates with AWS services for deployment and management, and ensures smooth CI/CD automation via **GitHub Actions**.\n\n---\n\n## 🚀 Architecture Overview\n\nThe platform consists of multiple independent **Spring Boot microservices**, each responsible for a specific domain:\n- **User Service** – manages registration, login, profiles, and roles\n- **Product Service** – handles product catalog, categories, and inventory\n- **Cart Service** – manages shopping carts and user sessions\n- **Order Service** – processes and tracks orders\n- **Payment Service** – integrates with payment gateways and manages transactions\n\nAll services communicate through REST APIs and are registered via a **Custom Service Registry (Eureka)**.  \nRequests are routed and secured using a **Custom API Gateway** that applies **JWT-based authentication** and **role-based access control**.\n\n---\n\n## 🧱 System Components\n\n| Component | Description |\n|------------|-------------|\n| **Spring Boot** | Backend framework for microservice development |\n| **Spring Security + JWT** | Provides secure authentication and authorization |\n| **Spring Cloud Netflix Eureka** | Custom service registry for dynamic service discovery |\n| **API Gateway** | Centralized routing and authentication filter for all requests |\n| **PostgreSQL (AWS RDS)** | Relational database for each microservice |\n| **AWS Secret Manager** | Securely stores database credentials, JWT secrets, and API keys |\n| **JavaMailSender** | Sends order and registration confirmation emails |\n| **Docker** | Containerizes each microservice for portability |\n| **AWS ECR** | Stores and manages container images |\n| **AWS ECS (Fargate)** | Hosts and runs containerized microservices |\n| **GitHub Actions** | CI/CD workflow for build, test, and deployment automation |\n\n---\n\n## 🧩 Microservice List\n\n1. **User Service**\n    - User registration, login, and profile management\n    - Role-based authentication (Admin, Customer, etc.)\n    - JWT token generation and validation\n\n2. **Product Service**\n    - Product listing, categories, and inventory control\n    - Accessible via API Gateway with JWT validation\n\n3. **Cart Service**\n    - Add, update, and remove items in user cart\n    - Maintains cart data linked to users\n\n4. **Order Service**\n    - Handles order creation, status tracking, and history\n    - Sends order confirmation via mail server\n\n5. **Payment Service**\n    - Manages transaction workflows and payment status updates\n\n---\n\n## 🔒 Security \u0026 Authentication\n\n- **Spring Security** for authentication and authorization\n- **JWT (JSON Web Token)** for secure session management\n- **Role-based access control** enforced at API Gateway and microservice level\n- **API Gateway Filters** validate JWT tokens before routing requests\n- **AWS Secrets Manager** ensures sensitive credentials (DB, JWT secret, Mail server passwords) are never hardcoded\n\n---\n\n## 📧 Email Notifications\n\nThe application uses **JavaMailSender** to send:\n- Registration confirmation emails\n- Password reset links\n- Order confirmation and shipping updates\n\nSMTP credentials are securely fetched from **AWS Secrets Manager**.\n\n---\n\n## 🐳 Docker \u0026 Deployment\n\nEach service is containerized with its own `Dockerfile`.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuchamod%2Fe-store-microservices-deploye","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuchamod%2Fe-store-microservices-deploye","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuchamod%2Fe-store-microservices-deploye/lists"}