A modern web application for practicing chess openings through interactive training sessions. Built with React, Chess.js.
- 📚 Load and practice chess openings from PGN files
- 🎮 Interactive chessboard with drag-and-drop moves
- ⚪️ Play as either White or Black
- ✅ Immediate feedback on move accuracy
- 🔄 Automatic position reset when reaching end of line
- 📊 Move validation against opening lines
- 🎯 Multiple games/variations support
- Frontend:
- React with TypeScript
- Chess.js for game logic
- React-Chessboard for the interactive board
- Tailwind CSS for styling
- Sonner for toast notifications
- Node.js (v16 or higher)
- npm or yarn
- Git
- Clone the repository:
git clone https://github.com/yourusername/chessOpeningTrainer.git
cd chessOpeningTrainer- Install dependencies:
npm install- Start the development server:
npm run dev-
Upload an Opening:
- Click "Choose File" to upload a PGN file
- The first game/variation will be loaded automatically
-
Select Your Side:
- Choose to play as White or Black
- The computer will automatically play the opposite side
-
Practice the Opening:
- Make moves by dragging pieces
- Receive immediate feedback on move accuracy
- The position resets automatically when you reach the end
chessOpeningTrainer/
├── src/
│ ├── ChessTrainer.tsx # Main game component
│ ├── App.tsx # Root component
│ └── index.css # Global styles
└── public/ # Static assets
npm run dev- Start development servernpm run build- Build for productionnpm run lint- Run ESLintnpm run test- Run tests
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Chess.js for chess logic
- React-Chessboard for the chessboard component
For support, please open an issue in the GitHub repository or contact the maintainers.
- Save and load training progress
- Opening statistics and analytics
- Multiple variation support
- Custom opening creation
- Spaced repetition training