yesi07111 / IS_Project_Playground

🔒 This app manages children's park activities, enhancing experiences for families. It offers facility info, schedules, and supports roles like parents, educators, and admins. Features include activity management, resource availability, and reservations. 🛡️
0 stars 0 forks source link

Develop Admin Page with Comprehensive Management Features #34

Open yesi07111 opened 2 days ago

yesi07111 commented 2 days ago

Description: This issue involves developing a comprehensive admin page for managing the park's resources, activities, and user roles. The admin page will provide functionalities for creating new admins and educators, handling requests, and performing CRUD operations on various entities. It will also include features for managing reservations and defining usage policies for park facilities.

Tasks:

  1. Admin and Educator Management:

    • Implement functionality to create new admin and educator accounts.
    • Develop a notification system for admin and educator requests.
    • Create interfaces to accept or reject these requests, which involves creating new user with these roles.
  2. Facility and Resource Management:

    • Develop pages to view detailed information about park facilities and resources.
    • Implement CRUD operations for facilities and resources, including creating, editing, deleting, listing, and updating.
    • Ensure that each operation is secure and validates user permissions.
  3. Activity and Reservation Management:

    • Create endpoints for managing activities, including creating, editing, deleting, and listing activities.
    • Develop pages to display and manage reservations, both for scheduled activities and private events.
    • Implement functionality to authorize and validate requests for creating private activities by parents or suggested activities by educators.
  4. Usage Policy Definition:

    • Allow admins to define and update usage policies for each facility.
    • Ensure policies are clearly displayed and accessible to users.
  5. User Profile and Review Management:

    • Enable admins to view and managing reviews and reservations.
    • Implement CRUD operations for user reviews and reservations.
  6. Data Visualization and Reporting:

    • Develop features to calculate and display the average ratings of activities conducted in the last month, grouped by activity.
    • Identify and display the top three activities with the highest participation in the last quarter.
    • Show the total number of reservations for a specific event.
    • Provide a report on the availability and frequency of use of park resources, highlighting the most and least used resources over the past year.
    • Analyze and display the confirmation rate of reservations based on the recommended age for activities.
  7. Frontend Development:

    • Design and implement the admin page UI, ensuring it is intuitive and responsive.
    • Create necessary pages or containers for listing and managing information, such as facilities, resources, activities, and reservations.
  8. Backend Development:

    • Develop RESTful endpoints to support all admin functionalities, ensuring secure and efficient data handling.
    • Implement authentication and authorization mechanisms to protect sensitive operations.
  9. Frontend Documentation:

    • Create comprehensive documentation for each frontend component and function.
    • Ensure that the documentation is clear and accessible for future developers.
  10. Backend Documentation and Testing:

    • Document all backend services and endpoints, including detailed descriptions and usage examples.
    • Use Swagger to test and verify the functionality of each endpoint.
    • Ensure that any new services added are thoroughly documented.