Skip to content

A full-stack task management mono-repo application. This application offers role-based access with user authentication, intuitive task tracking across multiple views, comprehensive admin controls for user management, and a responsive design that works across all devices.

Notifications You must be signed in to change notification settings

sidjain0503/task-dashbaord

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

πŸ’‘ Task management Dashboard

This is a Dashboard Application that supports:

  • User Authentication (signup/login)
  • Two Roles: User and Admin
  • 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

✍️ App Concept (Concrete)

Entities:

  • Users
  • Tasks (created by users)
  • Admin can view all tasks, users, and stats

πŸ“¦ Features List (Split by Role)

πŸ‘€ User:

  • Register/Login
  • View & edit profile
  • Create/Edit/Delete tasks
  • View list of own tasks

πŸ›‘οΈ Admin:

  • 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)

πŸ“‘ API Design

πŸ” Auth

Method Endpoint Description
POST /api/auth/register Register new user
POST /api/auth/login Login and get token

πŸ‘€ Users (Admin Only)

Method Endpoint Description
GET /api/users List all users
PUT /api/users/:id/role Promote user
PUT /api/users/:id/status Activate/Deactivate user

πŸ“ Tasks (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

πŸ“Š Stats (Admin)

Method Endpoint Description
GET /api/stats Get user/task counts

πŸš€ Running the Application

Installation

Install all dependencies for the frontend, backend, and root project:

npm run install-all

Development

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

πŸ—‚οΈ Step 4: Project Structure (Monorepo)

/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

About

A full-stack task management mono-repo application. This application offers role-based access with user authentication, intuitive task tracking across multiple views, comprehensive admin controls for user management, and a responsive design that works across all devices.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages