How nakul-19/blog-wall works
Blog Wall is an Android blogging app for discovering category-based and trending posts, reading and liking them, commenting, and publishing posts; email sign-in supports authenticated actions. The documented MVVM design separates screens, view models, repositories, and Retrofit APIs. The main browse/read and authentication flows are supported by the README and indexed or excerpted references; several view-model and network implementations were not sampled, so their links are shown as unverified rather than asserted as calls.
Main entry points: BlogRepository.kt Blog repository · MainActivity.kt Home and trending · AuthRepository.kt Auth repository · CategoryActivity.kt Category browsing
Components 20
App screens
- Home and trending
app/src/main/java/com/nakul/blogWall/activities/MainActivity.kt - Sign-in and sign-up
app/src/main/java/com/nakul/blogWall/fragments/SignInFragment.kt - Category browsing
app/src/main/java/com/nakul/blogWall/activities/CategoryActivity.kt - Blog details
app/src/main/java/com/nakul/blogWall/activities/BlogActivity.kt - Comments
app/src/main/java/com/nakul/blogWall/activities/CommentActivity.kt - Publish blog
app/src/main/java/com/nakul/blogWall/activities/NewBlogActivity.kt
Presentation state
- Authentication state
app/src/main/java/com/nakul/blogWall/viewmodels/LoginViewModel.kt - Home state
app/src/main/java/com/nakul/blogWall/viewmodels/MainViewModel.kt - Category state
app/src/main/java/com/nakul/blogWall/viewmodels/CategoryViewModel.kt - Blog state
app/src/main/java/com/nakul/blogWall/viewmodels/BlogViewModel.kt - Comment state
app/src/main/java/com/nakul/blogWall/viewmodels/CommentViewModel.kt - Publishing state
app/src/main/java/com/nakul/blogWall/viewmodels/NewBlogViewModel.kt
Data and repositories
- Auth repository
app/src/main/java/com/nakul/blogWall/repositories/AuthRepository.kt - Blog repository
app/src/main/java/com/nakul/blogWall/repositories/BlogRepository.kt - API data models
app/src/main/java/com/nakul/blogWall/models
Network and session
- Auth API
app/src/main/java/com/nakul/blogWall/network/AuthInterface.kt - Blog API
app/src/main/java/com/nakul/blogWall/network/BlogInterface.kt - Token manager
app/src/main/java/com/nakul/blogWall/network/TokenManager.kt
Other components
- Reader or writer
- Blog Wall backend
Connections 26
- Reader or writer → Home and trending: opens app
README.md - Reader or writer → Sign-in and sign-up: signs in
README.md - Reader or writer → Category browsing: chooses topic
README.md - Reader or writer → Publish blog: writes post
README.md - Home and trending → Home state: observes state
app/src/main/java/com/nakul/blogWall/activities/MainActivity.kt - Home and trending → Category browsing: opens category
- Home and trending → Publish blog: opens composer
app/src/main/java/com/nakul/blogWall/activities/MainActivity.kt - Sign-in and sign-up → Authentication state: submits credentials
app/src/main/java/com/nakul/blogWall/fragments/SignInFragment.kt - Category browsing → Category state: observes state
app/src/main/java/com/nakul/blogWall/activities/CategoryActivity.kt - Blog details → Blog state: requests details
app/src/main/java/com/nakul/blogWall/activities/BlogActivity.kt - Blog details → Comments: opens comments
app/src/main/java/com/nakul/blogWall/activities/BlogActivity.kt - Comments → Comment state: uses state
app/src/main/java/com/nakul/blogWall/activities/CommentActivity.kt - Publish blog → Publishing state: submits post
app/src/main/java/com/nakul/blogWall/activities/NewBlogActivity.kt - Authentication state → Auth repository: authenticates
app/src/main/java/com/nakul/blogWall/viewmodels/LoginViewModel.kt - Auth repository → Auth API: requests auth
app/src/main/java/com/nakul/blogWall/repositories/AuthRepository.kt - Auth repository → API data models: uses auth DTOs
app/src/main/java/com/nakul/blogWall/repositories/AuthRepository.kt - Token manager → Auth repository: refreshes tokens
app/src/main/java/com/nakul/blogWall/network/TokenManager.kt - Home state → Blog repository: loads feeds
- Category state → Blog repository: loads category
- Blog state → Blog repository: loads and likes
app/src/main/java/com/nakul/blogWall/viewmodels/BlogViewModel.kt - Comment state → Blog repository: loads and comments
app/src/main/java/com/nakul/blogWall/viewmodels/CommentViewModel.kt - Publishing state → Blog repository: creates post
app/src/main/java/com/nakul/blogWall/viewmodels/NewBlogViewModel.kt - Blog repository → Blog API: requests blog data
app/src/main/java/com/nakul/blogWall/repositories/BlogRepository.kt - Blog repository → API data models: uses blog DTOs
app/src/main/java/com/nakul/blogWall/repositories/BlogRepository.kt - Auth API → Blog Wall backend: sends auth requests
- Blog API → Blog Wall backend: sends blog requests