explaingit

zongzibinbin/mallchat

4,646JavaAudience · developerComplexity · 4/5LicenseSetup · hard

TLDR

A Java backend combining real-time group chat and an online shopping platform, built to production-grade standards with WebSocket messaging, WeChat QR login, multi-level caching, and e-commerce features.

Mindmap

mindmap
  root((MallChat))
    Chat features
      Real-time messaging
      WeChat QR login
      Message reactions
    Shopping features
      Shopping cart
      Orders and payment
      Product search
    Tech stack
      Spring Boot
      Netty WebSocket
      Redis and Caffeine
      Docker and Nginx
    Deployment
      Docker containers
      YAML configuration
      Live demo available
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a real-time group chat system with WebSocket connections and WeChat QR code login using this Java backend.

USE CASE 2

Learn how to combine multi-level caching with Redis and Caffeine for high-performance messaging in a Java app.

USE CASE 3

Use as a template for a full-stack Java e-commerce backend with shopping cart, orders, and payment features.

Tech stack

JavaSpring BootMyBatis PlusRedisNettyWebSocketDockerMySQL

Getting it running

Difficulty · hard Time to first run · 1day+

Requires MySQL, Redis, Docker, and Nginx, documentation and README are primarily written in Chinese.

Use freely in any project including commercial products, you must include the license and attribution notice when distributing.

In plain English

MallChat is a Java backend system that combines real-time group chat with an online shopping platform. The project describes its goal as meeting the development standards used at larger internet companies, and it treats both the messaging and e-commerce features as equally important. The repository is the backend service, a separate frontend project called MallChatWeb handles the browser interface. The real-time chat component is built on Netty, a Java library for handling persistent network connections. It supports WeChat QR code login, a member list, message history, multiple message types, and interactive reactions like likes and replies. The system uses WebSocket connections between the backend and the browser client. On the shopping side, the README lists planned features including a shopping cart, orders, payment handling, product recommendations, search, user acquisition tools, push notifications, logistics tracking, and customer service. These are described as in progress. The backend technology stack includes Spring Boot for the web layer, MyBatis Plus for database access with less manual SQL writing, Redis and Caffeine for caching at different levels, Nginx for load balancing and WebSocket protocol upgrades, Docker for running the application in containers, and JWT for user authentication. Swagger provides an auto-generated API documentation interface. A live demo of the chat system was available at mallchat.cn. The project includes an accompanying documentation resource described as over 100,000 characters of guides covering setup, core features, and performance testing. Configuration is handled through a YAML file. The project is licensed under Apache 2.0. The README is written primarily in Chinese.

Copy-paste prompts

Prompt 1
Using MallChat as a reference, help me implement a WebSocket chat endpoint in Spring Boot with Netty for handling persistent connections.
Prompt 2
How does MallChat use Redis and Caffeine together for two-level caching? Show me the pattern and when to use each layer.
Prompt 3
Help me set up WeChat QR code login in a Spring Boot application following the approach used in MallChat.
Prompt 4
Walk me through deploying MallChat's Spring Boot backend with Docker and configuring Nginx for WebSocket proxy support.
Open on GitHub → Explain another repo

← zongzibinbin on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.