You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.1 KiB
4.1 KiB
Phase 0 Status - Venue Admin Frontend
Date: 2025-11-05 Engineer: Uma Canvas (Frontend Faye) Project: playchoo-manager-nextjs
Summary
✅ Phase 0 frontend scaffolding is COMPLETE and ready for backend integration
The admin portal UI is fully scaffolded with:
- Clean admin landing page
/admin/clubsroute with access-aware messaging- Graceful handling of authentication and authorization states
- Clear TODO markers for backend dependencies
What's Complete
1. Project Setup ✅
- Forked from playchoo-nextjs template
- Updated all configuration for manager.playchoo.com domain
- Ports: 8100 (dev), 8200 (prod)
- Docker, Docker Compose, and Drone CI configs updated
- Fresh git repository initialized
2. Admin Landing Page ✅
Route: /[locale]/ (root)
Features:
- Three-card layout showcasing admin sections
- "Clubs" card is active and links to
/admin/clubs - "Schedules" and "Bookings" show "Coming soon" (Phase 1+)
- Consistent design with gradient backgrounds and glassmorphism
3. Club Management Page ✅
Route: /[locale]/admin/clubs
Features:
- Access-aware messaging system:
- Shows authentication prompt if user not logged in
- Shows access denied if user lacks club_admin role
- Shows club listing when authorized
- Empty state with clear API dependency note
- Card-based club display (ready for data)
- Responsive grid layout
4. Documentation ✅
- Comprehensive README.md
- Blocking files for dependencies:
Data_Dana-blocking-Frontend_Faye.md- API contracts neededAccess_Avery-blocking-Frontend_Faye.md- Auth infrastructure needed
- Activity log in
docs/owners/Frontend_Faye.md(in py-playchoo-api repo)
What's Blocked (Backend Dependencies)
Blocked by Access Avery
Status: CRITICAL PATH Need:
club_adminassociation table (links users to clubs)- Auth middleware that exposes:
- User authentication state
- User roles (specifically
club_admin) - List of club IDs user can administer
- Test accounts with club_admin role for staging
UI Impact: Currently hardcoded to show unauthenticated state
Blocked by Data Dana
Status: CRITICAL PATH Need:
GET /admin/clubs- List clubs user can administerGET /admin/clubs/{club_id}- Get club details- Proper 401/403/404 error responses
UI Impact: Currently shows empty state with dependency note
Integration Work Required
Once backend is ready, Frontend Faye needs to:
- Replace hardcoded auth checks with actual session/token checks (~2 hours)
- Implement API calls to
/admin/clubsendpoints (~2 hours) - Add loading states and error handling (~2 hours)
- Test with staging data and credentials (~2 hours)
Estimated integration time: 1 day
File Locations
New Project
/Volumes/AppleFS/kDrive/Documents/workspace/playchoo-manager-nextjs/
├── src/app/[locale]/
│ ├── page.tsx # Admin landing page
│ └── admin/clubs/page.tsx # Club management page
├── README.md # Project documentation
└── PHASE_0_STATUS.md # This file
Coordination Docs (in py-playchoo-api repo)
/Volumes/AppleFS/kDrive/Documents/workspace/py-playchoo-api/docs/owners/
├── Frontend_Faye.md # My activity log
├── Data_Dana-blocking-Frontend_Faye.md # API contracts I need
└── Access_Avery-blocking-Frontend_Faye.md # Auth I need
How to Run Locally
cd /Volumes/AppleFS/kDrive/Documents/workspace/playchoo-manager-nextjs
# Install dependencies
npm install
# Start dev server (port 8100)
npm run dev
# Visit http://localhost:8100
Next Steps (Phase 1)
After Phase 0 backend integration is complete:
- Slot definition table component
- Create/edit form for slot templates
- Materialisation status indicator
- Integration with Job Jonah's materialisation job
Questions?
- See
README.mdfor architecture details - See blocking files in
py-playchoo-api/docs/owners/for API specs - Contact Frontend Faye (Uma Canvas) with questions