This is a Dashboard Application that supports:
- User Authentication (signup/login)
- Two Roles:
User
andAdmin
- Admin Panel:
- Manage Users (view, promote, deactivate)
- View Stats
- User Panel:
- View and edit their profile
- Create/update/delete records (weβll define what type)
- Secure API with role-based access
- Responsive, clean UI with Vue 3, Tailwind, and Headless UI
Entities:
- Users
- Tasks (created by users)
- Admin can view all tasks, users, and stats
- Register/Login
- View & edit profile
- Create/Edit/Delete tasks
- View list of own tasks
- Login as admin
- View all users
- Promote or deactivate users
- View all tasks in the system
- View simple stats (e.g., total users, tasks created)
Method | Endpoint | Description |
---|---|---|
POST | /api/auth/register |
Register new user |
POST | /api/auth/login |
Login and get token |
Method | Endpoint | Description |
---|---|---|
GET | /api/users |
List all users |
PUT | /api/users/:id/role |
Promote user |
PUT | /api/users/:id/status |
Activate/Deactivate user |
Method | Endpoint | Description |
---|---|---|
GET | /api/tasks |
Get current user's tasks |
POST | /api/tasks |
Create new task |
PUT | /api/tasks/:id |
Update task |
DELETE | /api/tasks/:id |
Delete task |
Method | Endpoint | Description |
---|---|---|
GET | /api/stats |
Get user/task counts |
Install all dependencies for the frontend, backend, and root project:
npm run install-all
Run both frontend and backend simultaneously with a single command:
npm run dev
You can also run each part individually:
# Run only the frontend
npm run frontend
# Run only the backend
npm run backend
/fullstack-dashboard/
β
/frontend
βββ /src
β βββ /assets
β βββ /components
β βββ /pages
β βββ /router
β β βββ index.js
β βββ /stores
β β βββ auth.js
β βββ /services
β β βββ api.js
β βββ App.vue
β
βββ /backend/ β Node.js + Express + MySQL
β βββ /controllers
β βββ /routes
β βββ /middlewares
β βββ /models
β βββ /utils
β βββ index.js
β
βββ .env
βββ README.md