This is a full stack application for managing users and students. It includes JWT-based authentication, student photo upload, input validation, and error handling. Live version: http://35.247.228.63:82
- Login with email and password
- JWT token generation and validation
- Protected private routes
- Register new user
- Login
- Update profile
- Delete account
- List all students
- View single student
- Create new student
- Edit student info
- Delete student
- Upload image files through a form
- Associate photos with students
- Replace/update photos
- Served via
/photos/route
- Field validation for all forms
- Custom error messages (400, 401, 404, etc.)
- Centralized error handling middleware
- Frontend: React, Redux, Axios, React Router
- Backend: Node.js, Express, Sequelize
- Database: PostgreSQL
- Auth: JWT (JSON Web Tokens)
- File Upload: Multer
Use Postman or Insomnia to test private routes. Make sure to include the JWT token in the headers:
Authorization: Bearer YOUR_TOKEN_HERE
/frontend # React front-end app
/backend # Node.js + Express REST API
# Frontend
cd frontend
npm install
npm start
# Backend
cd backend
npm install
npm run dev