A powerful task management web app built with the MERN stack featuring authentication, dashboards, task analytics, and admin-user collaboration.
π 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.
| Login Page |
|---|
![]() |
| Register Page |
![]() |
| User Details |
|---|
![]() |
| Task Details |
![]() |
- JWT-based secure authentication.
- Role-based access control (Admin / User).
- Separate dashboards for Admin and Users.
- 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
- Overview of all system tasks and users.
- Same analytics charts for quick insights of entire system.
- Recently created tasks summary.
- Team performance overview.
- Create tasks with:
Title,Description,Priority (Low, Medium, High), andDue 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.
- 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.
- 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.
- Fully responsive for all devices (Desktop, Tablet, Mobile).
- Smooth UI/UX with modern animations and charts.
| 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) |
Make sure you have installed:
- Node.js (v16+)
- MongoDB
- npm or yarn
# 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 devThen open frontend π http://localhost:5173
- The server runs on a PORT that may vary depending on your environment.
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
- Task comments section π¬
- File upload for attachments π
- Email notifications for task updates π§
- Dark/Light mode toggle π
Yash Tank
πΌ Software Developer
π LinkedIn
π§ Email Me
If you like this project, donβt forget to β star the repository and share it!



