learn

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.

FilePurpose
frontend/src/pages/ProfilePage.jsxOwn profile editing screen.
frontend/src/pages/UserProfilePage.jsxAnother developer's profile screen.
frontend/src/pages/SearchPage.jsxDeveloper search screen.
frontend/src/services/userService.jsProfile, search, and upload calls.
backend/routes/userRoutes.jsProfile, search, feed, and upload routes.
backend/controllers/userController.jsProfile reads and writes plus search.
backend/middleware/upload.jsAvatar and cover upload handling.
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)

On this page