ChessNetra is a next-generation chess platform combining professional gameplay, community features, and AI-powered coaching. Headquartered in Goma, DRC, with a global vision, it connects players from all around the world.
- Interactive Chess Board: Full drag-and-drop support, legal move highlighting, and visual move history.
- Game Modes:
- Online: UI for matchmaking.
- Vs Computer: Play against Bots with distinct personalities and adaptive ELO (from Beginner to Grandmaster).
- Game Logic: Complete rules implementation (Checkmate, Stalemate, Promotion, Castling) using
chess.js. - Real-time Stats: Timers, captured pieces display, and move history.
- Virtual Coach: Integration with Google Gemini AI to analyze current board positions (FEN) and provide strategic advice in natural language.
- Authentication: Secure Sign Up/Sign In via Supabase.
- Responsive Design: Fully mobile-optimized with an off-canvas sidebar menu.
- Theming: Native Dark Mode and Light Mode support.
- Localization: Bilingual interface (English / French).
- Modern UI: Glassmorphism effects, smooth transitions, and 3D visual elements.
- Frontend: React 18, TypeScript
- Styling: Tailwind CSS
- Logic: Chess.js (Game Engine)
- Backend / Auth: Supabase
- AI: Google Gemini API (
@google/genai) - Icons: Lucide React
- Node.js (v18 or higher)
- npm or yarn
-
Clone the repository
git clone https://github.com/your-username/chessnetra.git cd chessnetra -
Install dependencies
npm install
-
Environment Setup The application requires API keys for Supabase and Google Gemini.
Create a
.envfile in the root directory (optional, as keys are currently hardcoded for demo purposes inservices/supabase.ts):API_KEY=your_google_gemini_api_key
Note: The Supabase configuration is currently located in
services/supabase.ts. -
Run the application
npm start
To set up the backend, run the SQL script provided in database.txt inside your Supabase SQL Editor. This will create:
profilestable (linked to Auth)games,tournaments,clubstables- Row Level Security (RLS) policies
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License.
ChessNetra - La Stratégie à l'État Pur. Made with ❤️ in Goma.