Build a developer productivity dashboard with React. Save code snippets, bookmark resources, track tasks — all powered by a real .NET API backend.
This is a React frontend assessment. The backend API is fully built and working. Your job is to build the entire React frontend from scratch.
| You Build | Already Done |
|---|---|
| All React components | .NET API server |
| All pages (Login, Register, Dashboard, Snippets, Resources, Tasks) | Database + migrations |
| API service layer (Axios) | Authentication (JWT) |
| Auth context + state management | All CRUD endpoints |
| React Router navigation | CORS configured |
| Forms with validation | |
| Loading/error states |
DevShelf/
├── server/ # ✅ .NET API (provided, don't modify)
│ ├── Controllers/ # Auth, Profile, Snippets, Resources, Tasks, Dashboard
│ ├── Models/ # User, Snippet, Resource, DevTask
│ ├── DTOs/ # Request/response data shapes
│ ├── Services/ # Auth + JWT services
│ ├── Data/ # EF Core database context
│ └── Program.cs # Server entry point
│
├── client/ # 🔨 React app (YOU BUILD THIS)
│ ├── src/
│ │ ├── main.jsx # Entry point (provided)
│ │ ├── index.css # Starter styles (provided)
│ │ └── ... # Everything else — you create!
│ ├── package.json # Dependencies (provided)
│ └── .env.local # API URL config (provided)
│
├── ASSESSMENT.md # 📖 Step-by-step build guide (START HERE)
├── API_REFERENCE.md # 📡 Complete API documentation
├── RUBRIC.md # 📊 Grading criteria
└── README.md # This file
cd server
dotnet runServer runs on
https://localhost:7001
cd client
npm install
npm run devClient runs on
http://localhost:5173
📖 Start here: ASSESSMENT.md
| Document | Purpose |
|---|---|
| ASSESSMENT.md | Step-by-step sprint guide — your main instructions |
| API_REFERENCE.md | Every API endpoint with request/response examples |
| RUBRIC.md | How your work will be graded (100 points total) |
- React 19 — UI library
- Vite 8 — Build tool & dev server
- React Router v7 — Client-side routing
- Axios — HTTP client
- React Hot Toast — Toast notifications
- Tailwind CSS v4 — Utility-first styling
- ASP.NET Core (.NET 10) — REST API
- Entity Framework Core — ORM
- SQLite — Database
- BCrypt — Password hashing
- JWT — Authentication tokens
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| POST | /api/auth/register |
Create account | No |
| POST | /api/auth/login |
Login, get JWT | No |
| GET | /api/profile |
Get user profile | Yes |
| GET/POST/PUT/DELETE | /api/snippets |
Code snippets CRUD | Yes |
| GET/POST/PUT/DELETE | /api/resources |
Bookmarks CRUD | Yes |
| GET/POST/PUT/PATCH/DELETE | /api/tasks |
Tasks CRUD + status | Yes |
| GET | /api/dashboard/stats |
Dashboard statistics | Yes |
See API_REFERENCE.md for full details.
- Follow the sprints in order — Sprint 1 → 2 → 3 → 4
- Test the API first — Use Postman or your browser to verify endpoints
- Commit after each sprint — Protect your progress
- Read error messages — They tell you exactly what's wrong
- 60 points = pass — Focus on Sprint 1 + 2 first
Good luck! 🚀