GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - learnOmi/EasyChat-backend--Java-SpringBoot: Aimed for learning to build a backend sever for my chat App.

BranchesTags
Open more actions menu

Latest commit

 

History

48 Commits
48 Commits

Folders and files

NameName
Last commit message
Last commit date
.idea
.idea
 
 
doc/dev-report
doc/dev-report
 
 
src/main
src/main
 
 
target/classes/com/easychat
target/classes/com/easychat
 
 
.gitignore
.gitignore
 
 
README.md
README.md
 
 
pom.xml
pom.xml
 
 

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

Readme
Activity

Stars

2 stars

Watchers

0 watching

Forks

1 fork
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800Ɨ600. No cookies required.