Backend Developer Intern Assignment. A scalable REST API with JWT Authentication and a React Dashboard.
- Authentication: JWT-based Login & Register with BCrypt password hashing.
- RBAC: User and Admin roles. Admins can manage all tasks; Users only their own.
- CRUD: Full Create, Read, Update, Delete operations for Tasks.
- Frontend: Modern React dashboard built with Vite, TailwindCSS, and Shadcn UI.
- Database: PostgreSQL with Drizzle ORM.
-
Install Dependencies
npm install
-
Database Setup The project is configured for PostgreSQL.
npm run db:push
-
Seed Data Create initial Admin and User accounts + sample tasks.
npm run seed
-
Run Server
npm run dev
Server starts on Port 5000.
Import postman_collection.json into Postman to test the API.
Environment Variables (Postman):
base_url:http://localhost:5000(default)token: Automatically set by the Login test script.
- Admin:
admin/admin123 - User:
user/user123
server/: Express backend (Routes, Storage, DB).client/: React frontend (Pages, Components).shared/: Shared types and schema (Zod/Drizzle).