Skip to content

πŸ“… Calendar Integration for Task BridgeΒ #34

@priymavani

Description

@priymavani

πŸ“Œ 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"}]
    }
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions