How sasikiranambati/github-profile-explorer works
GitHub Profile Explorer is a React application for finding developers, viewing profiles and repository insights, revisiting recent searches, and saving favorite profiles. The main journey is navigation or username search to a profile, where the frontend requests live GitHub data through the Express API; repository browsing has its own route. The backend proxies GitHub and optionally caches user and repository responses in MongoDB. Profile history and favorites use browser local storage. Repository-page internals were not sampled, so its specific data wiring is not asserted.
Main entry points: App.jsx App router · server.js Express API · Favorites.jsx Favorites page · Profile.jsx Profile page
Components 15
Frontend routing
- React entry
src/main.jsx - App router
src/App.jsx - Navigation bar
src/components/Navbar.jsx
Explorer workflows
- Home page
src/pages/Home.jsx - Search page
src/pages/Search.jsx - Profile page
src/pages/Profile.jsx - Repositories page
src/pages/Repositories.jsx - Favorites page
src/pages/Favorites.jsx - Profile card
src/components/ProfileCard.jsx - Repository card
src/components/RepoCard.jsx
API backend
- Express API
server.js
External services and state
- GitHub API
- MongoDB cache
- Browser local storage
Other components
- Visitor
Connections 19
- Visitor → React entry: opens app
- React entry → App router: renders
- App router → Navigation bar: renders
- App router → Home page: routes
- App router → Search page: routes
- App router → Profile page: routes
- App router → Repositories page: routes
- App router → Favorites page: routes
- Visitor → Navigation bar: selects route
- Visitor → Search page: enters username
- Search page → Profile page: navigates to
- Profile page → Express API: requests user
- Favorites page → Express API: requests users
- Express API → GitHub API: fetches data
- GitHub API → Express API: returns data
- Express API → MongoDB cache: caches responses
- Profile page → Browser local storage: reads and writes
- Favorites page → Browser local storage: reads and writes
- Favorites page → Profile card: renders profiles