cat-mall  by raymond-zhao

E-commerce system development notes and learning resources

created 5 years ago
262 stars

Top 97.8% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides a comprehensive guide and codebase for building a full-stack e-commerce platform using a microservices architecture. It targets developers aiming to master distributed systems concepts, Spring Cloud, and related technologies. The project offers a structured learning path from foundational distributed development to advanced microservice integration and high-availability cluster deployment.

How It Works

The project is structured into three phases: Distributed Foundation (Spring Boot, Spring Cloud, Vue, Docker), Distributed Advanced (ElasticSearch, Redis, RabbitMQ, Nacos, Seata, Sentinel, Zipkin), and High Availability Cluster (Kubernetes, MySQL/Redis/RabbitMQ/ElasticSearch clusters). It emphasizes practical implementation, covering core e-commerce functionalities like product management, inventory, members, coupons, orders, and a flash sale system. Key technologies include Spring Cloud Alibaba for service discovery, configuration, and fault tolerance, OpenFeign for inter-service communication, and Spring Gateway for API management.

Quick Start & Requirements

  • Installation: Requires Java 8+, Maven, Node.js, Docker, MySQL, Redis, Nacos, Zipkin, Elasticsearch, and RabbitMQ. Static resources are hosted on Baidu Cloud (link provided).
  • Setup: Involves setting up databases, installing dependencies, configuring Nginx for static resources, and running various microservices. Detailed setup instructions and commands are provided for each component.
  • Resources: The project is extensive, requiring significant setup time and understanding of distributed system components.

Highlighted Details

  • Covers a wide array of distributed system patterns and technologies, including service discovery, distributed transactions (Seata), message queues (RabbitMQ), caching (Redis), and observability (Zipkin).
  • Demonstrates practical implementation of features like category tree traversal, cross-origin resource sharing (CORS) configuration, and JSR303 validation.
  • Includes detailed explanations and code examples for Feign asynchronous calls, Spring Cache integration, and Redis distributed locking with Redisson.
  • Provides guidance on performance testing with JMeter and implementing robust error handling and idempotency mechanisms.

Maintenance & Community

The project is presented as a learning resource with ongoing development and refinement. Links to related resources like "awesome-architect" and Wiki pages are provided for deeper dives.

Licensing & Compatibility

The repository does not explicitly state a license. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The project is presented as a learning journey, with some features marked as incomplete (e.g., "完善系统功能", "增加卖家角色"). Static resources are hosted externally, which could pose a dependency risk. The setup process is complex and requires familiarity with numerous technologies.

Health Check
Last commit

3 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
4 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.