uprm-inso4101-2024-2025-s1 / semester-project-campus-resource-and-event-management

semester-project-campus-resource-and-event-management created by GitHub Classroom
9 stars 0 forks source link

{Mini-Feature: Event Class} 【Sub-Issue】Develop Dynamic Event Class #364

Open JeanSanchezFelix opened 2 weeks ago

JeanSanchezFelix commented 2 weeks ago

Overview: This subtask focuses on developing a dynamic Event Class that will serve as the foundation for displaying individual events within the Event UI. The class should be flexible and capable of managing a wide range of event details, allowing it to adapt to various types of events. This structure will enable seamless data handling, dynamic updates, and easy integration with the Event UI template.


Requirements:

  1. Core Fields Definition

    • Define the essential fields for the Event Class, ensuring it covers all necessary details:
      • Event Name: String – The name/title of the event.
      • Date: Date – The date when the event takes place.
      • Time: Time – The starting time of the event.
      • Location: String – The location where the event will be held.
      • Tags: List<String> – A list of tags or categories that classify the event.
      • RSVP Status: Boolean or String – A field to track whether the user has RSVP'd, with options such as "Yes," "No," or "Maybe."
      • Additional Information: String or RichText – A section for extra notes or descriptions related to the event.
  2. Support for Recurring and Special Events

    • Implement an optional Recurring Event property that allows users to set recurring frequencies (e.g., daily, weekly, monthly).
    • Include a Special Attributes field to handle unique event types, such as VIP events or members-only access, ensuring the class can dynamically adjust fields based on the event's requirements.
  3. Event Type Handling

    • Introduce an Event Type field that identifies different types of events (e.g., social, educational, corporate).
    • Ensure the class dynamically loads and displays fields based on the event type, showing only relevant information for each specific event.
  4. Dynamic Data Loading and Updating

    • Build a Load Event Data method that fetches event information from the database or API, ensuring all fields are populated accurately.
    • Implement an Update Event Data method that allows users to modify and save changes to event details, with real-time synchronization to the Event UI.

Acceptance Criteria: