| .github | ||
| public | ||
| src | ||
| .dockerignore | ||
| .gitignore | ||
| bun.lockb | ||
| components.json | ||
| docker-compose.yml | ||
| Dockerfile | ||
| eslint.config.js | ||
| index.html | ||
| nginx.conf | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| tailwind.config.ts | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
NVJ Turnierplaner
Volleyball tournament organizer for Netzroller Volleyball Jugend (NVJ). Manage teams, rounds, and scoring across Bundesliga and Champions League formats.
Getting Started
Prerequisites
- Node.js (v18 or higher) - install with nvm
- Bun (optional, for package management)
Installation
# Clone the repository
git clone <YOUR_GIT_URL>
# Navigate to the project directory
cd nvj-turnierplaner2
# Install dependencies
npm install
# or with bun
bun install
# Start the development server
npm run dev
The app will be available at http://localhost:8080
Tech Stack
- Vite - Build tool and dev server
- React 18 - UI framework
- TypeScript - Type safety
- shadcn/ui - Component library
- Tailwind CSS - Styling
- React Router - Navigation
- Vitest - Testing framework
Available Scripts
npm run dev # Start development server (port 8080)
npm run build # Production build
npm run build:dev # Development mode build
npm run test # Run tests once
npm run test:watch # Run tests in watch mode
npm run lint # Lint code
npm run preview # Preview production build
Project Structure
src/context/- Global state management (TournamentContext)src/pages/- Page components (Index, Tournament, NotFound)src/components/- Reusable componentssrc/components/ui/- shadcn/ui primitives (do not edit directly)src/utils/- Utility functions (match generation logic)src/types/- TypeScript type definitions
Development Guide
See .github/copilot-instructions.md for detailed architecture documentation and coding conventions.