Skip to content

Repository files navigation

Atlas Backend

Distributed backend system for a forum platform.

Atlas Backend is a Spring Boot forum backend that implements discussion posts, comments, likes, follows, private messages, search, hot-post caching, asynchronous notifications, and basic operational metrics.

Tech Stack

  • Java 12, Spring Boot, Spring MVC, Spring Security
  • MyBatis, MySQL, HikariCP
  • Redis for login tickets, likes, follows, UV/DAU stats, user cache, and hot-post fallback cache
  • Caffeine + Redis two-level cache for hot-post reads
  • Kafka for asynchronous in-site notifications
  • Elasticsearch for post search
  • Quartz for scheduled hot-score refresh jobs
  • Thymeleaf frontend templates

Highlights

  • Implemented Redis-backed like/follow data structures with sorted sets and sets.
  • Built Kafka-based asynchronous notification pipeline for comment, like, and follow events.
  • Added Caffeine + Redis two-level cache for hot-post retrieval to reduce repeated database sorting queries.
  • Added scheduled post-score refresh pipeline using Redis + Quartz.
  • Added login ticket/session handling, captcha, activation email flow, and permission checks.

Local Development

The project expects the following services locally:

  • MySQL
  • Redis
  • Kafka + ZooKeeper
  • Elasticsearch 6.x compatible with Spring Boot 2.1.x transport client

Default profile:

spring.profiles.active=develop

Build:

mvn -DskipTests clean package

Run:

java -jar target/ROOT.war

Then open:

http://localhost:8080/index?orderMode=1

Environment Variables

Sensitive credentials are intentionally externalized:

ATLAS_MAIL_USERNAME
ATLAS_MAIL_PASSWORD
ATLAS_DB_PASSWORD
ATLAS_DOMAIN
ATLAS_KAFKA_GROUP_ID
ATLAS_ES_CLUSTER_NAME
QINIU_ACCESS_KEY
QINIU_SECRET_KEY
QINIU_HEADER_BUCKET
QINIU_HEADER_URL
QINIU_SHARE_BUCKET
QINIU_SHARE_URL

Notes

The local development configuration keeps the MySQL schema name as community to remain compatible with the existing local dataset. The Java package and Maven coordinates have been renamed to com.atlas.community / atlas-backend.

About

High Performance Backend Service

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages