https://github.com/itz-hiru/task-manager-backend
Task manager system developed using MERN
https://github.com/itz-hiru/task-manager-backend
backend express javascript jwt-authentication mern-stack mongodb nodejs
Last synced: 8 months ago
JSON representation
Task manager system developed using MERN
- Host: GitHub
- URL: https://github.com/itz-hiru/task-manager-backend
- Owner: itz-Hiru
- License: mit
- Created: 2025-04-13T09:29:50.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-17T08:46:41.000Z (about 1 year ago)
- Last Synced: 2025-05-18T01:11:21.915Z (about 1 year ago)
- Topics: backend, express, javascript, jwt-authentication, mern-stack, mongodb, nodejs
- Language: JavaScript
- Homepage:
- Size: 3.76 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🧠✨ Task Manager System Backend ✨🧠
---
## 🚀 Tech Stack









---
## 🌐 API Features
### 👥 User Features
- 🔐 Register user (Admin code check for admin access)
- 🔑 Login user with secure JWT auth
- 🙍♂️ Get current user
- 🔄 Update user info
- 🖼️ Update user profile image (Multer)
- 👀 Get a specific user (Admin only)
- 📋 Get all users (Admin only)
### ✅ Task Features
- 📝 Create task (Admin only)
- 📂 Get all tasks
- 🔍 Get task by ID
- ✏️ Update task details
- 🔄 Update task status
- ☑️ Update task checklist
- 🗑️ Delete task (Admin only)
### 📊 Dashboard & Reports
- 📈 Admin dashboard stats
- 👤 User dashboard overview
- 📤 Export Task Report (.xlsx)
- 📥 Export User Report (.xlsx)
---
## 📁 Project Structure
```bash
├── controllers/
├── middlewares/
├── models/
├── routes/
├── utils/
├── uploads/
├── .env
├── server.js
```
---
## 🔒 Authentication & Authorization
- JWT-based secure login
- Admin-only routes protected with role-based middleware
- Passwords encrypted using Bcrypt
---
## 📸 Profile Image Upload
- File uploads handled by Multer
- Stored locally in `/uploads/` folder
---
## 📦 Excel Report Exports
- Generate dynamic Excel reports using `exceljs`
- Available for both tasks and user data
---
## 🛠️ Setup & Installation
```bash
git clone https://github.com/itz-Hiru/Task-Manager-Backend.git
cd Task-Manager-Backend
npm install
```
Create a `.env` file and add:
```env
PORT=3000
MONGO_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
ADMIN_INVITE_TOKEN=your_admin_code
```
Then run the server:
```bash
npm run dev
```
---
## 📬 API Testing
You can use [Postman](https://www.postman.com/) to test API endpoints.
---
## 📊 Dashboard Sneak Peek
> Admin & user dashboards return JSON data like:
```json
{
"statistics": {
"totalTasks": 0,
"pendingTasks": 0,
"completedTasks": 0,
"overDueTasks": 0
},
"charts": {
"taskDistribution": {
"Pending": 0,
"Inprogress": 0,
"Completed": 0,
"All": 0
},
"taskPriorityLevels": {
"Low": 0,
"Medium": 0,
"High": 0
}
},
"recentTasks": []
}
```
---
## 🙌 Author
Made with 💙 by [Hirumitha](https://hirumitha-portfolio.vercel.app)
---