A starter portfolio project with:
- React frontend
- Node.js + Express backend
- MongoDB data storage
- Login/logout and backend-controlled data access
- Install dependencies:
npm install --prefix servernpm install --prefix client
- Create a
.envfile inserver/using.env.example. - Start the backend:
npm run dev --prefix server
- Start the frontend:
npm run dev --prefix client
server/index.js: Express serverserver/routes/auth.js: Login and registerserver/routes/profile.js: Protected portfolio dataserver/models/User.js: MongoDB user modelserver/config/db.js: MongoDB connection
client/src/App.jsx: Login/logout, user state, protected profileclient/src/LoginForm.jsx: Login formclient/src/Profile.jsx: Portfolio data displayclient/src/api.js: API calls to backend
- Use
MONGO_URIinserver/.envfor MongoDB connection. - After login, the frontend stores the JWT in localStorage and fetches protected data.