Skip to content

Latest commit

Β 

History

55 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Task Manager β€” MERN Stack Project

image

A powerful task management web app built with the MERN stack featuring authentication, dashboards, task analytics, and admin-user collaboration.


🌐 Live Demo

πŸ”— View Deployed App on Render
πŸ’» View Source Code on GitHub

⚠️ Note:

  • Render’s free tier automatically shuts down the app if it hasn't been used for a while.
    To load the app, you may need to refresh the page after opening the live demo.
  • Uploaded images/files may be removed due to free-tier storage limitations.

πŸ“Έ Screenshots

πŸ” Authentication (Login / Register)

Login Page
image
Register Page
image

πŸ§‘β€πŸ’Ό Admin Dashboard

admin_dashboard

πŸ‘€ User Dashboard

user_dashboard

πŸ“‹ Task Creation (Admin)

Screenshot 2025-10-09 024115

πŸ“Š Reports & Analytics

User Details
image
Task Details
image

πŸš€ Features

πŸ”‘ Authentication & Authorization

  • JWT-based secure authentication.
  • Role-based access control (Admin / User).
  • Separate dashboards for Admin and Users.

πŸ“Š Dashboard Analytics

πŸ§‘ User Dashboard:

  • Displays only User related task statistics using Pie Chart (Pending, In Progress, Completed).
  • Bar Chart showing Task Priority distribution (Low, Medium, High).
  • Recently added tasks section.
  • Task counters at the top:
    Total Tasks | Pending | In Progress | Completed

πŸ§‘β€πŸ’Ό Admin Dashboard:

  • Overview of all system tasks and users.
  • Same analytics charts for quick insights of entire system.
  • Recently created tasks summary.
  • Team performance overview.

πŸ“ Task Management (Admin)

  • Create tasks with:
    • Title, Description, Priority (Low, Medium, High), and Due Date.
    • Assign multiple members (users).
    • Add To-do checklist (subtasks).
    • Add attachments (URL format).
  • Tasks are visible to assigned members only.
  • Real-time task status and progress updates based on checklist completion.

πŸ“¦ Reports & Exports (Admin)

  • Download Task Reports in Excel:
    • Includes: Task ID, Title, Description, Priority, Status, Assigned Members.
  • Download User Reports in Excel:
    • Includes: Username, Email, Total Assigned Tasks, Pending, In Progress, and Completed counts.

πŸ‘₯ User Features

  • View only assigned tasks.
  • Update subtasks (To-do checklist).
  • Watch automatic task progress and status updates.
  • Filter tasks by:
    • All | Pending | In Progress | Completed
  • View task details including:
    • Priority, Progress %, Due Date, Attachments, and Assigned Members.

πŸ’» Responsive Design

  • Fully responsive for all devices (Desktop, Tablet, Mobile).
  • Smooth UI/UX with modern animations and charts.

🧰 Tech Stack

Layer Technology
Frontend React.js, React Router, Axios, Chart.js, Tailwind CSS, Toaster
Backend Node.js, Express.js, Cors, Multer, Excel.js
Database MongoDB (Mongoose ORM)
Authentication JSON Web Tokens (JWT), bcrypt
Deployment Render (Backend + Frontend), GitHub
Reports XLSX (Excel Export)

βš™οΈ Installation & Setup

🧾 Prerequisites

Make sure you have installed:

  • Node.js (v16+)
  • MongoDB
  • npm or yarn

πŸͺœ Steps

# 1️⃣ Clone the Repository
git clone https://github.com/yashtank86/mern-task-manager-jwt-auth-admin-dashboard.git

# 2️⃣ Navigate into Project
cd mern-task-manager-jwt-auth-admin-dashboard

# 3️⃣ Install Dependencies
cd backend && npm install
cd frontend && npm install

# 4️⃣ Add Environment Variables
Create `.env` file in `backend` folder and add:
PORT=5000
MONGO_URI=your_mongo_connection_string
JWT_SECRET=your_secret_key
ADMIN_INVITE_TOKEN= 7-digit-Code-choose-any 

# 5️⃣ Run Backend
cd backend
npm start or npm run dev

# 6️⃣ Run Frontend
cd frontend
npm start or npm run dev

Then open frontend πŸ‘‰ http://localhost:5173

  • The server runs on a PORT that may vary depending on your environment.

πŸ“¦ Folder Structure

mern-task-manager-jwt-auth-admin-dashboard/
β”‚
β”œβ”€β”€ frontend/              # React Frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ assets/        # Static files like images, icons, fonts
β”‚   β”‚   β”œβ”€β”€ components/    # UI Components
β”‚   β”‚   β”œβ”€β”€ pages/         # Page Components
β”‚   β”‚   β”œβ”€β”€ context/       # Context API
β”‚   β”‚   β”œβ”€β”€ hooks/         # custom hooks
β”‚   β”‚   β”œβ”€β”€ utils/         # Helper functions
β”‚   β”‚   β”œβ”€β”€ routes/        # Route configuration
β”‚   β”‚   └── App.jsx
β”‚   └── package.json
β”‚
β”œβ”€β”€ backend/               # Node + Express Backend
β”‚   β”œβ”€β”€ config/            # Database & JWT config
β”‚   β”œβ”€β”€ controllers/       # Business Logic
β”‚   β”œβ”€β”€ middleware/        # Auth Middleware
β”‚   β”œβ”€β”€ models/            # Mongoose Models
β”‚   β”œβ”€β”€ routes/            # API Routes
β”‚   β”œβ”€β”€ uploads/           # User Profile Pic Storage
β”‚   └── server.js
β”‚
└── README.md

πŸ“ˆ Future Enhancements

  • Task comments section πŸ’¬
  • File upload for attachments πŸ“Ž
  • Email notifications for task updates πŸ“§
  • Dark/Light mode toggle πŸŒ—

πŸ§‘β€πŸ’» Author

Yash Tank
πŸ’Ό Software Developer
🌍 LinkedIn
πŸ“§ Email Me


⭐ Support

If you like this project, don’t forget to ⭐ star the repository and share it!

About

A full-stack MERN Task Management System with user authentication (JWT), admin dashboard with charts, task tracking, and Excel report generation.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages