# Project Tasks This file tracks the progress of the project. ## Completed - [x] **Leaderboard UI**: Create a static, visually-styled leaderboard page with a podium for top players and a table for others. - [x] **Member Profile Modal**: Display player profiles in a modal dialog instead of a separate page. - [x] **Refine Profile Modal**: Update the profile modal to remove the bio and include `joined_date`, `matches_played`, `wins`, and `losses`. - [x] **Implement Register/Login**: Build user registration and login functionality. This will be a prerequisite for features that require user authentication. - [x] **Backend for Player Data**: Create a backend endpoint to serve the list of players, replacing the mock data in `index.php`. - [x] **Refactor Team Handling (Many-to-Many)** - [x] **DB Schema:** Drop `team_a`/`team_b` from `matches` table. - [x] **DB Schema:** Create `teams` table. - [x] **DB Schema:** Create `match_teams` join table. - [x] **Refactor UI:** Update "Create Match" form for multiple teams. - [x] **Refactor Backend:** Update `api/matches.php` to handle multiple teams. - [x] **Refactor UI:** Update match card to display a list of teams. - [x] **Story: Training Game Interest and Scheduling** - [x] **Matches Table**: Create a `matches` table in the database to store event details, including date, time, and location. - [x] **`match_votes` Table**: Create a join table between `users` and `matches` to store individual votes. - [x] **Admin Match Management**: Develop a UI for admins to create, update, and delete matches. - [x] **Match Interest Form**: For each match, create a unique interest form for users to vote on their availability. - [x] **Voting Logic**: Implement the backend functionality to record and manage user votes for each match. - [x] **Voter Display**: On each match's page, display the users who have voted, along with their responses. ## Backlog - [ ] **Player Dashboard**: Build a personalized dashboard for logged-in players to see their own detailed stats, track progress over time, and manage their information. - [ ] **Branded Landing Page**: Develop a more formal, public-facing homepage for the application that explains its purpose and value.