Skip to content

[5.2 Admin Panel] Web Dashboard (Blazor) for Managing Users/Data #39

Description

@fIyingPhoenix

Milestone: Milestone 5: Infrastructure & Tools
Category: 5.2 Admin Panel (Web)
Task: Develop a web-based admin dashboard using Blazor for managing users and application data.


Description

This task involves creating a Blazor-based admin panel for managing users and other application data. The admin panel should provide functionality to view, edit, delete, and create users, as well as manage other aspects of the application (e.g., meal logs, weight tracking).


Subtasks:

  • Create a Blazor web application project for the admin panel
  • Implement a user management page:
    • View all users
    • Create new users
    • Edit user details (e.g., username, email, password)
    • Delete users
  • Implement a meal management page:
    • View all logged meals
    • Edit or delete meals
    • Add new meal entries manually
  • Implement a weight tracking page:
    • View all logged weight entries
    • Edit or delete weight entries
    • Add new weight entries manually
  • Implement role-based access control (RBAC) to manage different user roles (Admin, Coach, User):
    • Admin: Full access to all data
    • Coach: Limited access to user data, meal logs, and weight tracking
    • User: Personal data access (e.g., meals, weight)
  • Integrate the dashboard with the backend API to retrieve and update user and data information
  • Add authentication and authorization to the admin panel (JWT, login/logout)
  • Implement a responsive design for the admin panel to ensure usability on various devices (desktop, tablet, mobile)
  • Implement search and filtering options for users, meals, and weight logs
  • Implement pagination for long lists of users, meals, and weight logs
  • Implement data validation on forms (e.g., for creating/editing users or meal entries)
  • Test the admin dashboard for security vulnerabilities (e.g., unauthorized access, XSS)
  • Document usage of the admin panel in the README

Technical Considerations:

  • Use Blazor WebAssembly or Blazor Server, depending on the project requirements
  • Implement JWT-based authentication for secure login/logout
  • Use a UI library like Bootstrap or Telerik for Blazor to create responsive and modern user interfaces
  • Ensure role-based access control (RBAC) is properly configured for different user types
  • Use Entity Framework Core or another ORM for database communication in the Blazor application

Acceptance Criteria:

  • The web dashboard is accessible and responsive on various devices
  • The dashboard can manage users, meals, and weight tracking data
  • Authentication and authorization are implemented and tested
  • Role-based access control (Admin, Coach, User) is functional
  • The admin panel correctly communicates with the backend API
  • The dashboard UI is user-friendly and intuitive
  • Documentation for the admin panel is added to the README file

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status
    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions