{"id":26252569,"url":"https://github.com/zohidjonyuldashev/e-commerce","last_synced_at":"2026-04-16T05:04:46.465Z","repository":{"id":261124125,"uuid":"883316660","full_name":"zohidjonyuldashev/e-commerce","owner":"zohidjonyuldashev","description":"A microservices-based e-commerce application designed to streamline online shopping processes.","archived":false,"fork":false,"pushed_at":"2025-03-12T08:26:01.000Z","size":97,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-31T23:57:36.170Z","etag":null,"topics":["angular","docker","eureka-server","java","postgresql","rabbitmq","spring-framework","zipkin"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zohidjonyuldashev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-11-04T18:49:40.000Z","updated_at":"2025-03-12T08:26:05.000Z","dependencies_parsed_at":"2025-03-12T21:01:10.710Z","dependency_job_id":null,"html_url":"https://github.com/zohidjonyuldashev/e-commerce","commit_stats":null,"previous_names":["zohidjonyuldashev/e-commerce"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zohidjonyuldashev/e-commerce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zohidjonyuldashev%2Fe-commerce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zohidjonyuldashev%2Fe-commerce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zohidjonyuldashev%2Fe-commerce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zohidjonyuldashev%2Fe-commerce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zohidjonyuldashev","download_url":"https://codeload.github.com/zohidjonyuldashev/e-commerce/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zohidjonyuldashev%2Fe-commerce/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31872036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["angular","docker","eureka-server","java","postgresql","rabbitmq","spring-framework","zipkin"],"created_at":"2025-03-13T17:21:58.512Z","updated_at":"2026-04-16T05:04:46.449Z","avatar_url":"https://github.com/zohidjonyuldashev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# E-Commerce Microservices Application\n\nA **microservices-based e-commerce application** designed to streamline online shopping processes. This project demonstrates the implementation of a scalable, modular, and distributed system using **Spring Boot**, **Spring Cloud**, and other modern technologies.\n\n---\n\n## **Features**\n\n- **Customer Management**: Register and manage customer details (name, email, address).\n- **Product Catalog**: Browse and manage products with details like name, description, price, and availability.\n- **Order Management**: Place, track, and manage orders with real-time updates.\n- **Payment Processing**: Secure payment processing with support for multiple payment methods.\n- **Notifications**: Send email notifications for order confirmations, payment status, and more.\n- **Scalable Architecture**: Built using microservices for independent scaling and deployment.\n- **Asynchronous Communication**: Uses **RabbitMQ** for reliable message queuing between services.\n- **Service Discovery**: **Eureka Server** for dynamic service registration and discovery.\n- **API Gateway**: Centralized entry point for all microservices with routing and load balancing.\n- **Distributed Tracing**: Integrated with **Zipkin** for monitoring and debugging microservices.\n\n---\n\n## **Technologies Used**\n\n### **Backend**\n- **Spring Boot 3**: Core framework for building microservices.\n- **Spring Cloud**: For service discovery, configuration, and API gateway.\n- **Spring Data JPA**: For database interactions.\n- **Spring Security**: For secure authentication and authorization.\n- **RabbitMQ**: Message broker for asynchronous communication.\n- **Eureka Server**: Service discovery and registration.\n- **Zipkin**: Distributed tracing for monitoring microservices.\n- **Docker**: Containerization for easy deployment.\n\n### **Database**\n- **PostgreSQL**: Relational database for storing customer, product, and order data.\n- **MongoDB**: NoSQL database for storing notifications and other unstructured data.\n\n### **Tools**\n- **Docker Compose**: For orchestrating multi-container applications.\n- **Postman**: For API testing during development.\n\n---\n\n## **Architecture Overview**\n\nThe application is built using a **microservices architecture**, with the following key components:\n\n1. **Customer Service**: Manages customer information and authentication.\n2. **Product Service**: Handles product catalog and inventory management.\n3. **Order Service**: Manages order creation, tracking, and updates.\n4. **Payment Service**: Processes payments and updates payment status.\n5. **Notification Service**: Sends email notifications for order and payment updates.\n6. **API Gateway**: Routes requests to the appropriate microservices.\n7. **Eureka Server**: Service discovery for dynamic service registration.\n8. **Config Server**: Centralized configuration management for all microservices.\n\n---\n\n## **Installation**\n\n### **Prerequisites**\n- **Java 17**: Ensure Java 17 is installed.\n- **Docker**: Install Docker and Docker Compose for containerization.\n- **PostgreSQL**: Set up a PostgreSQL database.\n- **RabbitMQ**: Install RabbitMQ for message queuing.\n\n### **Steps to Run the Application**\n\n1. **Clone the Repository**:\n   ```bash\n   git clone https://github.com/zohidjonyuldashev/e-commerce.git\n   cd e-commerce\n   ```\n2. **Set Up Environment Variables**\n  - Create a .env file in the root directory and add the following:\n  ```\n  DATABASE_URL=your_postgres_url\n  DATABASE_USERNAME=your_postgres_username\n  DATABASE_PASSWORD=your_postgres_password\n  RABBITMQ_HOST=your_rabbitmq_host\n  RABBITMQ_USERNAME=your_rabbitmq_username\n  RABBITMQ_PASSWORD=your_rabbitmq_password\n  ```\n3. **Run Docker Compose**\n   ```\n   docker-compose up -d\n   ```\n4. **Access the Application**\n   - The API Gateway will be available at http://localhost:8080.\n   - Eureka Server dashboard: http://localhost:8761.\n   - Zipkin for distributed tracing: http://localhost:9411.\n## API Documentation\n   The API documentation is available via Swagger UI:\n   - Access Swagger UI at http://localhost:8080/swagger-ui.html.\n## Contributing\n   Contributions are welcome! If you'd like to contribute to this project, please follow these steps:\n   1. Fork the repository.\n   2.  Create a new branch (git checkout -b feature/YourFeatureName).\n   3.  Commit your changes (git commit -m 'Add some feature').\n   4.  Push to the branch (git push origin feature/YourFeatureName).\n   5.  Open a pull request.\n## License\n   This project is licensed under the MIT License. See the [LICENSE](https://github.com/zohidjonyuldashev/e-commerce/blob/master/LICENSE) file for details.\n   \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzohidjonyuldashev%2Fe-commerce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzohidjonyuldashev%2Fe-commerce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzohidjonyuldashev%2Fe-commerce/lists"}