Profiles and uploads
Editable profiles with avatar and cover uploads.
Profiles mix hand-written fields with synced GitHub data (stats, top repos, skills derived from repo languages). Avatar and cover uploads ride the same Multer-plus-Cloudinary path as post images, with a local fallback. Discovery has two doors: the paged user feed (excluding the user and their connections) and name-or-skill search.
What it owns
- Profile fields: bio, skills, links, location, availability, projects
- Avatar and cover uploads through the upload middleware
- GitHub stats and repository sync onto the profile
- Developer search and the discovery feed
Files
File list and purposes from the folder README.
| File | Purpose |
|---|---|
frontend/src/pages/ProfilePage.jsx | Own profile editing screen. |
frontend/src/pages/UserProfilePage.jsx | Another developer's profile screen. |
frontend/src/pages/SearchPage.jsx | Developer search screen. |
frontend/src/services/userService.js | Profile, search, and upload calls. |
backend/routes/userRoutes.js | Profile, search, feed, and upload routes. |
backend/controllers/userController.js | Profile reads and writes plus search. |
backend/middleware/upload.js | Avatar and cover upload handling. |
Laying out Profiles and uploads slice…
BrowserAPIRealtimeCacheDatabaseShareddurableephemeral
Talks to
Sources: frontend/src/pages/ProfilePage.jsx, backend/controllers/userController.js, backend/middleware/upload.js (documented at commit cdef8af)