# 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](https://github.com/nvm-sh/nvm#installing-and-updating) - Bun (optional, for package management) ### Installation ```sh # Clone the repository git clone # 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 ```sh 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 components - `src/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](.github/copilot-instructions.md) for detailed architecture documentation and coding conventions.