How dhathri073/githubprofileanalyzer works
GitHub Profile Analyzer is a small web application and REST API for collecting, caching, and serving GitHub profile insights. A user submits a username through the static UI; the API validates it, returns a result cached for one hour or fetches GitHub user and repository data, computes star and language summaries, stores the profile, and returns it for display. API clients can also page through stored profiles, read one, or delete one. The graph reflects the sampled runtime code and README; the UI’s configurable API URL is documented, but the sampled script uses a hardcoded URL.
Main entry points: server.js Express server · script.js UI interactions · profileRoutes.js Profile routes · db.js Database access
Components 11
Web interface
- Analyzer UI
index.html - UI interactions
script.js
REST API
- Express server
server.js - Profile routes
routes/profileRoutes.js
GitHub analysis
- GitHub collector
services/githubService.js
Profile storage
- Database access
db.js - Profiles table
schema.sql
Other components
- User
- API client
- GitHub API
- Browser storage
Connections 12
- User → Analyzer UI: uses
- Analyzer UI → UI interactions: loads
- UI interactions → Express server: POST analysis
- API client → Express server: API requests
- Express server → Profile routes: dispatches
- Express server → Database access: initializes
- Profile routes → Database access: queries
- Profile routes → GitHub collector: collects insights
- GitHub collector → GitHub API: fetches user and repos
- Database access → Profiles table: reads and writes
- UI interactions → Browser storage: stores history and theme
- Express server → UI interactions: returns API response