The Task Assignment Application is a comprehensive task management system featuring an intuitive calendar interface. This platform enables Managers to efficiently create, assign, and manage tasks for Employees under their supervision. Employees can easily view and complete their assigned tasks. All tasks seamlessly integrate with Google Calendar for enhanced tracking and productivity.
- Secure user authentication system
- Role-based access control (RBAC):
- Employee: View and manage assigned tasks
- Manager: Full control over task creation, assignment, and management
- Self-management capabilities for Managers
- Managers can:
- Create new tasks directly from the calendar interface
- Assign tasks to specific Employees
- Update or delete existing tasks
- View all Employee tasks for any selected day
- Employees can:
- Access a personalized view of assigned tasks
- Mark tasks as completed
- Interactive, user-friendly calendar design
- Familiar UI/UX inspired by Google Calendar and Outlook
- Simple task scheduling through date selection
- Automatic synchronization with Google Calendar
- Tasks appear as events in users' personal calendars
- Seamless tracking across platforms
- Frontend: React (TypeScript)
- Backend: Node.js (TypeScript)
- Database: MongoDB
- Authentication: JWT-based system
- Authorization: Role-based permissions
- Integration: Google Calendar API
- Node.js (v16+ recommended)
- MongoDB instance
- Google API credentials for Calendar integration
-
Clone the repository:
git clone https://github.com/your-repo/task-assignment-app.git cd task-assignment-app -
Install dependencies:
npm install
-
Configure environment variables:
- Create a
.envfile in the root directory:MONGO_URI=<your-mongodb-connection-string> JWT_SECRET=<your-secret-key> GOOGLE_CLIENT_ID=<your-google-client-id> GOOGLE_CLIENT_SECRET=<your-google-client-secret>
- Create a
-
Start the backend server:
npm run server
-
Start the frontend application:
npm run client
| Method | Endpoint | Description |
|---|---|---|
| POST | /auth/login |
Login user |
| POST | /auth/signup |
Register new user |
| Method | Endpoint | Description | Access |
|---|---|---|---|
| POST | /tasks |
Create a new task | Managers only |
| GET | /tasks |
Get tasks | Role-based access |
| PUT | /tasks/:id |
Update task | Managers only |
| DELETE | /tasks/:id |
Delete task | Managers only |
This project is open-source and available under the MIT License.
We welcome contributions! Feel free to fork the repository and submit pull requests to improve the application.