A Next.js frontend for the PrimeBot API — browse esports teams, track match schedules, and follow your favourite teams.
- Team Search — Search teams by name with paginated results.
- Team Detail — View team info, logo, upcoming matches, and past results.
- My Teams — Save teams locally and see a consolidated dashboard with overview, results, and upcoming-match tabs.
- In-memory caching — API responses are cached server-side with per-entry manual refresh buttons.
- Basic Auth protection — All routes are protected by HTTP Basic Authentication via a Next.js middleware proxy.
- Next.js 16 (App Router)
- React 19
- Tailwind CSS 4
- TypeScript 5
primebot-api-ts-client
Node.js 20+ is required.
Create a .env.local file in the project root:
BASIC_AUTH_USER=your_username
BASIC_AUTH_PASSWORD=your_passwordThese credentials are required to access the app. All routes are protected by HTTP Basic Authentication.
npm install
npm run devOpen http://localhost:3000 in your browser. You will be prompted for the Basic Auth credentials configured above.
npm run build
npm startapp/
search/ # Team search page
teams/[id]/ # Team detail page
my-teams/ # Saved teams dashboard
api/
search/ # Server-side search proxy
my-teams/ # Saved teams API
cache/refresh/# Cache invalidation endpoint
components/ # Shared UI components
lib/
api.ts # PrimeBot API client with caching
cache.ts # In-memory cache implementation
teams-store.ts # Local saved-teams persistence
proxy.ts # Basic Auth middleware