REST API for My Trail, a social app for hikers to share their experiences — posts with photos, user profiles, and a friend system. The React client lives in this repo under frontend/.
- JWT authentication with bcrypt password hashing (register / login)
- Posts with image upload via multer
- User profiles: about-me, profile pictures, friends and pending friend requests
- Request validation with Joi
Node.js · Express · MongoDB (Mongoose) · JWT · bcrypt · multer · Joi
- routes/ — auth, users, posts
- models/ — Mongoose schemas
- middleware/ + startup/ — auth guard, DB wiring
- frontend/ — the React client
npm install
npm start # nodemon index.jsRequires MongoDB. Create config/default.json with your own mongoURI and jwtSecret — never commit real credentials.
Built at devCodeCamp (2021).