How rishavsinha21/journalapp works
This is a Spring-based personal journaling API: users sign up or log in, receive JWT authentication, then create, view, update, and delete their own entries. Separate user and admin endpoints support account management and administration; the user greeting also retrieves weather. The sampled services show journal ownership maintained through user records and weather cached in Redis. JWT protection is documented by the README, but the security configuration and token utility were not sampled, so their detailed wiring is not expanded here.
Main entry points: UserService.java User service · PublicController.java Public API · JournalEntryControllerV2.java Journal API · JournalEntryService.java Journal service
Components 18
HTTP API
- Public API
src/main/java/com/bloc/JournalApp/Controller/PublicController.java - Journal API
src/main/java/com/bloc/JournalApp/Controller/JournalEntryControllerV2.java - User API
src/main/java/com/bloc/JournalApp/Controller/UserController.java - Admin API
src/main/java/com/bloc/JournalApp/Controller/AdminController.java
Identity & Access
- Spring Security
src/main/java/com/bloc/JournalApp/Configurations/SpringSecurity.java - User details
src/main/java/com/bloc/JournalApp/Service/UserDetailsServiceImpl.java - User service
src/main/java/com/bloc/JournalApp/Service/UserService.java - User repository
src/main/java/com/bloc/JournalApp/Repository/UserRepository.java - User record
src/main/java/com/bloc/JournalApp/entity/User.java
Journal Domain
- Journal service
src/main/java/com/bloc/JournalApp/Service/JournalEntryService.java - Journal repository
src/main/java/com/bloc/JournalApp/Repository/JournalEntryRepository.java - Journal entry
src/main/java/com/bloc/JournalApp/entity/JournalEntry.java
External Services
- MongoDB
- Weather service
src/main/java/com/bloc/JournalApp/Service/WeatherService.java - Redis service
src/main/java/com/bloc/JournalApp/Service/RedisService.java - Redis
- Weather API
Other components
- API client
Connections 19
- API client → Public API: signs up / logs in
- Public API → User service: creates user
- Public API → User details: loads account
- Public API → Spring Security: authenticates
- API client → Journal API: requests entries
- Spring Security → Journal API: protects
- Journal API → User service: loads owner
- Journal API → Journal service: manages entry
- Journal service → User service: updates ownership
- Journal service → Journal repository: saves / finds / deletes
- User API → User service: manages account
- User API → Weather service: gets weather
- Admin API → User service: manages users
- User service → User repository: reads / writes
- User repository → MongoDB: persists users
- Journal repository → MongoDB: persists entries
- Weather service → Redis service: checks / caches
- Redis service → Redis: reads / writes
- Weather service → Weather API: requests forecast