App Setup
- Make it deploy (vercel)
- Scaffold basic ui with mock data
- Setup db (vercel postgres)
- Attach db to ui
- Add authentication (w/ next-auth)
- Attach end to end tests (cypress)
- Attach CI for cypress cloud
- Layouts
- Error management (w/ sentry)
Features:
- Users - Create profile
- Users - Update profile
- Users - Select profile
- Users - Switch profile
- Users - Request access
- Users - View access
- Admin - List/Create/Edit/Delete tournaments
- Admin - List/Create/Edit/Delete sports
- Admin - List/Create teams
- Admin - List weeks
- Add paymentDueDate to group schema to limit usage of app if any of the members have not paid by then
- Admin - List/Suspend/Activate users
- Admin - Users/:id overview
- Admin - Users/:id suspend/activate & make/remove admin
- Admin - Users/:id/edit - email, name, phone
- Admin - Users/:id list userAccounts - username, avatar, createdAt
- Admin - Groups - name, tournament, joinable, finished, createdAt, paymentDueDate
- Admin - Groups - filter by tournament, active/finished
- Admin - Groups - link to group.tournament
- Admin - Groups - bulk actions (joinable, finished)
- Admin - Groups/new - name, tournament, joinable, finished, paymentDueDate
- Admin - Groups/:id/edit - name, joinable, finished, paymentDueDate (tournament cannot be changed)
- Admin - Groups/:id overview (memberships list) - username, avatar, name, email, paid, suspended, createdAt
- Admin - Groups - add members count to list view
- Admin - Groups/:id overview (memberships list) - bulk actions - suspend/activate, mark paid/unpaid
- Admin - Users/:id/ list userAccounts - memberships
- Admin - Users/:id/ list memberships - suspended, paid, group, createdAt
- Admin - Users/:id/ list memberships - bulk actions - suspend/activate, mark paid/unpaid
- Admin - Groups/:id requests
- Admin - Groups/:id requests - bulk actions (accept/deny)
- Admin - Users/:id/requests list requests - group, status, createdAt
- Admin - Users/:id/requests - bulk actions - accept/deny
- Admin - Users/:id list userAccounts - edit (username, avatar)
- Admin - Users/:id list userAccounts - transfer ownership
TBD
- Admin - List/Edit/Suspend/Paid memberships
- Admin - List/Accept/Deny requests
- Users - List/Edit Picks
- Users - List Leaderboard
- Admin - List/Edit Picks
- Admin - Populate tournament data
- Admin - Update Group Week
- Admin - Finalize Group Week