MCPcopy Index your code
hub / github.com/Qiming-Liu/ThinkMoreForum-Backend

github.com/Qiming-Liu/ThinkMoreForum-Backend @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
343 symbols 852 edges 116 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ThinkMoreForum-Backend

Watchers Forks Stars

LICENSE Code Size Stars

thinkmoreapp.com

https://user-images.githubusercontent.com/68600416/167850826-1a155349-2daf-4b8b-b8d2-e6c9452d5020.mp4

ThinkMoreForum is a place for people to make any kind of discussion, where people come together to share their opinion. As a discussion platform, it is multifunctional, interactive, and mobile-ready. Administrators can easily set the look and topic of the forum, manage user permissions, and customize the site footer. The development process uses Jira as an agile scrum software to help the team organize and prioritize the work, and uses Github as a version control tool for a lightweight, branch-based workflow. From a technical perspective, the project uses message queues to send emails, and implements high-level JWT updates and protection, constructs WebSocket to achieve real-time online users and real-time notifications.

Project Architecture

Front-end Back-end
• Next.js • Redux • Typescript • MUI • Axios • Husky • Jest • Eslint • Sass-lint • Prettier • Yup, Formik • Spring boot • Lombok & Mapstruct • Flyway & PostgreSQL (JPA) • Swagger & Postman • Spring Security & JWT • Jacoco & Mockito • RabbitMQ (amqp) • Amazon S3 (MinIO) • Redis (Jedis) • Sockjs (websocket) • Sendgrid (Email)

Project Architecture

Development

Pre Install:

  1. JDK 11
  2. Docker
  3. Intellij Idea

Step:

  1. Open the project Intellij Idea IDE and aut
  2. Run $ docker-compose up -d
  3. Run project in Intellij Idea IDE

Deployment

  1. Deploy Minio ./docker/minio/docker-compose.yml
  2. GitHub Action ./.github/workflows/build.yml

Grafana (Offline)

JVM (Micrometer) - Amazon Managed Grafana AWS Cloud - Amazon Managed Grafana

Extension points exported contracts — how you extend this code

ImgMapper (Interface)
(no doc)
src/main/java/com/thinkmore/forum/mapper/ImgMapper.java
NotificationMapper (Interface)
(no doc)
src/main/java/com/thinkmore/forum/mapper/NotificationMapper.java
RolesMapper (Interface)
(no doc)
src/main/java/com/thinkmore/forum/mapper/RolesMapper.java
PostMapper (Interface)
(no doc)
src/main/java/com/thinkmore/forum/mapper/PostMapper.java
FollowerUsersMapper (Interface)
(no doc)
src/main/java/com/thinkmore/forum/mapper/FollowerUsersMapper.java

Core symbols most depended-on inside this repo

findById
called by 31
src/main/java/com/thinkmore/forum/repository/CategoryRepository.java
getJwtContext
called by 21
src/main/java/com/thinkmore/forum/util/Util.java
checkPermission
called by 14
src/main/java/com/thinkmore/forum/util/Util.java
fromEntity
called by 11
src/main/java/com/thinkmore/forum/mapper/ImgMapper.java
findByUsername
called by 10
src/main/java/com/thinkmore/forum/repository/UsersRepository.java
getUsername
called by 8
src/main/java/com/thinkmore/forum/entity/JwtUser.java
toEntity
called by 6
src/main/java/com/thinkmore/forum/mapper/PostMapper.java
findAll
called by 6
src/main/java/com/thinkmore/forum/repository/OnlineUsersRepository.java

Shape

Method 227
Class 93
Interface 23

Languages

Java100%

Modules by API surface

src/main/java/com/thinkmore/forum/controller/v1/PublicController.java20 symbols
src/main/java/com/thinkmore/forum/service/UsersService.java17 symbols
src/main/java/com/thinkmore/forum/service/PostService.java12 symbols
src/main/java/com/thinkmore/forum/controller/v1/UsersController.java11 symbols
src/main/java/com/thinkmore/forum/repository/PostRepository.java9 symbols
src/main/java/com/thinkmore/forum/entity/JwtUser.java9 symbols
src/main/java/com/thinkmore/forum/service/CategoryService.java7 symbols
src/main/java/com/thinkmore/forum/util/Util.java6 symbols
src/main/java/com/thinkmore/forum/service/FollowerUsersService.java6 symbols
src/main/java/com/thinkmore/forum/service/FollowPostService.java6 symbols
src/main/java/com/thinkmore/forum/service/WebsocketService.java5 symbols
src/main/java/com/thinkmore/forum/service/NotificationService.java5 symbols

Datastores touched

postgresDatabase · 1 repos

For agents

$ claude mcp add ThinkMoreForum-Backend \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact