-
Notifications
You must be signed in to change notification settings - Fork 3
Description
π Requirements
ποΈ Task & Meeting Calendar View
β
Display tasks and meetings on a calendar based on their due dates.
β
Differentiate tasks and meetings using color codes.
β
Show task priority (High, Medium, Low) and meeting importance.
β
Provide a daily, weekly, and monthly view.
π Event Details & Interactions
β
Click on a task/meeting to view full details (title, description, assigned members, status, etc.).
β
Add filters to display tasks or meetings separately.
π Reminders & Notifications
β
Send reminders for upcoming tasks and meetings.
β
Show in-app notifications before deadlines.
β
Display overdue tasks with alerts.
π Access & Permissions
β
Admins can view all tasks and meetings
β
Members can only view assigned tasks and meetings.
π How to Solve
π Implementation Steps
1οΈβ£ Data Handling & API Integration
πΉ Fetch tasks and meetings from APIs containing due date details.
πΉ Store and manage data in React state (Context API or Redux for better state management).
πΉ Format API response to match the calendar library's required structure.
2οΈβ£ UI Development
πΉ Use a React calendar library like react-big-calendar or FullCalendar.
πΉ Display tasks and meetings as events on the calendar.
πΉ Implement color-coded indicators for tasks and meetings.
πΉ Add modals/popups for viewing event details.
3οΈβ£ Functionality Implementation
πΉ Enable event filtering (e.g., show only tasks or meetings).
4οΈβ£ Notifications & Reminders
πΉ Use setTimeout or background jobs to trigger reminders.
πΉ Show in-app alerts for upcoming deadlines.
5οΈβ£ Access Control
πΉ Ensure admins can view all tasks/meetings.
πΉ Allow members to only view and mark tasks as done.
API FOR DATES
for Meeting scheduledDate
This API retrieves a list of upcoming meetings for a specific team.
π Endpoint Details
URL: https://task-bridge-eyh5.onrender.com/meetings/upcoming/:team_code
- Method:
GET - Authorization: Required (JWT Token in Header)
- Headers:
{
"Authorization": "Bearer jwt-token"
}Path Parameter:
- team_code (string) β Unique identifier for the team whose meetings are being fetched.
Response
[
{
"_id": "67ce6df637ca487ee2000a74",
"team_code": "code@123",
"title": "Task Management",
"agenda": "To Manage Task",
"scheduledDate": "2025-03-11T04:43:00.000Z",
"createdBy": {
"_id": "67bdb8db99fcc38fbf0bcb6d",
"full_name": "Priy Mavani",
"email": "priy.cg@gmail.com"
},
"participants": [
{
"_id": "67bdb8db99fcc38fbf0bcb6d",
"full_name": "Priy Mavani",
"email": "priy.cg@gmail.com"
}
],
"status": "scheduled",
"meetingLink": "https://meet.jit.si/Task-Managment?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"notes": [],
"chatMessages": [],
"createdAt": "2025-03-10T04:43:34.845Z",
"updatedAt": "2025-03-10T04:43:34.845Z",
"__v": 0
}
]for Task Due Date
URL: https://task-bridge-eyh5.onrender.com/task/:team_code
- Method:
GET - Authorization: Required (JWT Token in Header)
- Headers:
{
"Authorization": "Bearer jwt-token"
}Path Parameter:
- team_code (string) β Unique identifier for the team whose meetings are being fetched.
Response
[
{
"_id": "67c85be5962cf58e99706f80",
"team_code": "code@123",
"title": "To Make TasBar",
"description": "details",
"date": "2025-03-06",
"priority": "medium",
"stage": "in progress",
"label": "design",
"activities": [
{"type": "assigned", "activity": "Task created", "date": "2025-03-05"},
{"type": "in progress", "activity": "Task moved to in progress", "date": "2025-03-10"}
],
"comments": [{"user": "67bdb8db99fcc38fbf0bcb6d", "date": "2025-03-05"}]
},
{
"_id": "67bff32985144e592d9805f9",
"team_code": "code@123",
"title": "any task name",
"description": "task",
"date": "2025-03-25",
"priority": "high",
"stage": "in progress",
"label": "design",
"activities": [
{"type": "assigned", "activity": "Task created", "date": "2025-02-27"},
{"type": "in progress", "activity": "Task moved to in progress", "date": "2025-02-28"}
],
"comments": [{"user": "67bdb8db99fcc38fbf0bcb6d", "date": "2025-02-27"}]
}
]