Skip to content

Latest commit

 

History

45 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zread

EasyChat Backend Project

📌 Project Overview

EasyChat is a real-time chat application backend system built with Java Spring Boot. This project adopts a modern technology architecture, providing complete core features including user authentication, real-time messaging, file transfer, and more. It is designed for building high-performance instant messaging platforms.

🛠️ Tech Stack

Core Framework

  • Spring Boot 3.2.0 - Application framework
  • MyBatis 3.0.5 - Persistence framework
  • MySQL 8.0.33 - Relational database

Real-time Communication

  • Netty 4.1.68.Final - High-performance network communication framework
    • WebSocket server
    • Real-time message push

Caching & Distributed Systems

  • Redis 3.0.0 - Caching and session management
  • Redisson 3.18.0 - Redis client
    • Pub/sub message distribution
    • Advanced features like distributed locks

Utility Libraries

  • FastJSON 1.2.83 - JSON serialization
  • Apache Commons Lang3 3.12.0 - Common utilities
  • Apache Commons Codec 1.16.0 - Encoding/decoding tools
  • EasyCaptcha 1.6.2 - CAPTCHA generation
  • Nashorn 15.4 - JavaScript engine

✨ Core Features

🔐 Authentication & Authorization

  • Token-based user session management
  • Custom annotation interceptors for access control
  • Admin role verification mechanism

💬 Real-time Messaging Engine

  • WebSocket persistent connection management
  • Channel context lifecycle management
  • Redis pub/sub for multi-node message distribution
  • Support for both private and group chats

👥 Core Business Services

  • User registration and login
  • Contact and friend relationship management
  • Chat message persistence
  • File upload and download
  • Group chat creation and management

🗄️ Data Access Layer

  • Generic MyBatis base mapper
  • Optimized XML mapper configuration

🏗️ Infrastructure

  • Multi-tier Redis caching strategy
  • Global exception handling
  • Application startup validation
  • Unified DTO design pattern

📦 Project Structure

easychat/
├── src/main/
│ ├── java/ # Java source code
│ └── resources/ # Configuration files
├── pom.xml # Maven dependency configuration
└── README.md # Project documentation

🚀 Quick Start

The project uses Maven for build and dependency management, supporting one-click startup. For detailed configuration and startup guides, please refer to the project documentation.


This project demonstrates a typical architecture for modern Java web applications, combining the development convenience of Spring Boot, the high-performance network communication capabilities of Netty, and the distributed features of Redis. It is a complete enterprise-level instant messaging solution.

About

Aimed for learning to build a backend sever for my chat App.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages