A chess training app made with React.js and Next.js.
View Demo
◈
Report Bug
◈
Request Feature
Explore the docs »
Table of Contents
Chess has various strategies to for both proactive and reactive actions for the early-game, mid-game and late-game.
Chess Buddy is a web-application designed to teach its users opening strategies.
Saying that, it's important to note that it is a bit bare-bones at the moment.
Features:
- Play full games of Chess against a random-type machine opponent.
- You are able to create opening strategies visually, and train against them.
- You are able to create repertoires, groups of openings, and train against them.
- You are able to modify your user profile, and add other users as friends.
- You are able to view, author, edit, delete and publish/unpublish news, documentation and FAQ.
The project is developed using:
- React + Next.js.
- Tailwind CSS.
- Supabase.
Getting this project up and running for the first time, requires some manual labour. You're going to have to copy-and-paste the contents of the PREREQUISITES.sql file into the SQL Editor in the Supabase GUI. Once you've pasted it all there, all you need to do is to run it, and then proceed with the rest of the prerequisites. Also note the extras document for other functions and the like that may be nice to use, but are not included by default.
Reasoning: While it would be nice to automate this, of course, it's not really possible. Supabase treats every client as "untrusted" and thus does not allow for plain SQL execution. We could have made a SQL function for this, but having a function that lets you execute arbitrary SQL code sounds like a rather big potential security problem. Hence why it's necessary to do this manually.
- Create a
.env.local
file in the root directory. - Grab your Supabase URL and add it as the value of
NEXT_PUBLIC_SUPABASE_URL
. - Grab your Supabase anonymous API key and add it as the value of
NEXT_PUBLIC_SUPABASE_ANON_KEY
.
It'll look something like this:
NEXT_PUBLIC_SUPABASE_URL=https://somesubdomain.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=some kind of secret here
Currently, our developer documentation is available through the docs
folder and through jsdoc
code documentation. We do plan on moving onto GitHub's repository-level Wiki, but that is for the future.
npm install
npm run dev
Once it's up, open http://localhost:3000.
Usage of the web-application should be relatively straight forward. It is designed to be mostly intuitive, but also contains internal user-aligned documentation.
Our roadmap can be viewed through our GitHub Project.
The repository LICENSE
file, as you may have noticed, marks this repository as MIT. However, due to the nature of its contents, it's actually multi-licensed. Unless otherwise specified, the licenses below apply to their respective areas:
- Code:
MIT
- Documentation:
CC0
- Resources (e.g. images):
CC0
As mentioned, this is not withstanding resources that have other licenses. E.g. the react logo in use in the project logo is MIT while the chess piece is CC0.