66 lines
1.7 KiB
Markdown
66 lines
1.7 KiB
Markdown
# 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 <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
|
|
|
|
```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.
|