How zhan-zip/aesthetica works
This is a Spring MVC blog application with an administrative publishing area and a public reading site. The main workflow is an administrator creating or editing a post, associating it with a category, and saving it; readers then browse listings and categories or open a post, which increments its view count and displays glossary terms. The tree also shows login, uploads, statistics, and a Markdown editor. Controller-to-service calls are visible in sampled source; service-to-repository wiring is inferred from the service implementations and repository layout, which were not sampled.
Main entry points: TypeServiceImpl.java Category service · IndexController.java Public pages · BlogController.java Blog management · BlogServiceImpl.java Blog service
Components 23
Web workflows
- Public pages
src/main/java/com/lrm/web/admin/IndexController.java - Blog management
src/main/java/com/lrm/web/admin/BlogController.java - Category management
src/main/java/com/lrm/web/admin/TypeController.java - Glossary management
src/main/java/com/lrm/web/admin/GlossaryController.java - Login
src/main/java/com/lrm/web/admin/LoginController.java - File upload
src/main/java/com/lrm/web/admin/FileUploadController.java - Statistics
src/main/java/com/lrm/web/admin/StatisticsController.java
Domain services
- Blog service
src/main/java/com/lrm/service/BlogServiceImpl.java - Category service
src/main/java/com/lrm/service/TypeServiceImpl.java - Glossary service
src/main/java/com/lrm/service/GlossaryServiceImpl.java - User service
src/main/java/com/lrm/service/UserServiceImpl.java
Persistence layer
- Blog repository
src/main/java/com/lrm/Dao/BlogRepository.java - Category repository
src/main/java/com/lrm/Dao/TypeRepository.java - Glossary repository
src/main/java/com/lrm/Dao/GlossaryRepository.java - User repository
src/main/java/com/lrm/Dao/UserRepository.java - Application database
Domain model
- Blog posts
src/main/java/com/lrm/po/Blog.java - Categories
src/main/java/com/lrm/po/Type.java - Glossary terms
src/main/java/com/lrm/po/Glossary.java - User accounts
src/main/java/com/lrm/po/User.java
Authoring tools
- Markdown editor
src/main/resources/static/lib/editormd/editormd.js
Other components
- Reader
- Administrator
Connections 26
- Reader → Public pages: browses
- Administrator → Blog management: manages posts
- Administrator → Category management: manages categories
- Administrator → Glossary management: manages terms
- Administrator → Login: authenticates
- Administrator → File upload: uploads files
- Administrator → Statistics: views metrics
- Blog management → Blog service: calls
- Blog management → Category service: loads categories
- Public pages → Blog service: lists and loads posts
- Public pages → Category service: loads categories
- Public pages → Glossary service: loads terms
- Glossary management → Glossary service: calls
- Category management → Category service: calls
- Login → User service: authenticates
- Statistics → Blog service: reads post counts
- Statistics → Category service: reads category views
- Blog service → Blog repository: queries and saves
- Category service → Category repository: queries and saves
- Glossary service → Glossary repository: queries and saves
- User service → User repository: looks up users
- Blog repository → Application database: reads and writes
- Category repository → Application database: reads and writes
- Glossary repository → Application database: reads and writes
- User repository → Application database: reads and writes
- Blog management → Markdown editor: authors Markdown