How kpsravan/craftdemo works
craftdemo is a Java/Spring social-feed application. Its evidenced user-to-result workflow is an authenticated caller requesting a paginated feed; the controller fetches tweets for that user, groups replies under parent tweets, converts them to DTOs, and returns a feed response. User lookup supports authentication, while the service/DAO layer queries persisted entities. The model also defines follow and follow-request concepts, but no sampled runtime code shows their workflows. The README provides no further capability detail, and unsampled wiring is omitted.
Main entry points: FeedController.java Feed endpoint · BaseDAO.java JPA data access · TweetService.java Tweet query service · UserService.java User lookup service
Components 14
API and security
- Feed endpoint
craftdemo-api/src/main/java/com/intuit/demo/api/FeedController.java - Feed response
craftdemo-api/src/main/java/com/intuit/demo/dto/FeedResponse.java - Tweet DTO
craftdemo-api/src/main/java/com/intuit/demo/dto/TweetDTO.java - User authentication lookup
craftdemo-api/src/main/java/com/intuit/demo/api/security/DummyUserService.java - Unauthorized response
craftdemo-api/src/main/java/com/intuit/demo/api/security/BasicAuthEntryoint.java
Application services
- User lookup service
craftdemo-service/src/main/java/com/intuit/demo/service/UserService.java - Tweet query service
craftdemo-service/src/main/java/com/intuit/demo/service/TweetService.java
Persistence
- JPA data access
craftdemo-service/src/main/java/com/intuit/demo/dao/BaseDAO.java - Relational persistence
craftdemo-model/src/main/resources/META-INF/persistence.xml
Social domain
- User entity
craftdemo-model/src/main/java/com/intuit/demo/model/User.java - Tweet entity
craftdemo-model/src/main/java/com/intuit/demo/model/Tweet.java - Follower entity
craftdemo-model/src/main/java/com/intuit/demo/model/Follower.java - Follow request entity
craftdemo-model/src/main/java/com/intuit/demo/model/FollowerRequest.java
Other components
- Authenticated caller
Connections 12
- Authenticated caller → Feed endpoint: requests feed
- Feed endpoint → Tweet query service: queries page
- Tweet query service → JPA data access: fetches tweets
- JPA data access → Relational persistence: queries entities
- JPA data access → Tweet entity: reads
- Tweet query service → Feed endpoint: returns tweets
- Feed endpoint → Tweet DTO: converts and groups
- Feed endpoint → Feed response: builds response
- Feed endpoint → Authenticated caller: returns feed
- User authentication lookup → User lookup service: loads user
- User lookup service → JPA data access: looks up user
- JPA data access → User entity: reads