An open source competitive programming lockout web alternative to the Discord bot, with matchmaking and additional game modes.
1 - Clone the repo using git or manually download it:
git clone https://github.com/AbdelH2O/duelvsme
2 - Install dependencies:
npm install
or
yarn install
3 - Setup your environment variables, Supabase and Redis infrastructure (see down below)
4 - Start the app:
npm run start
or
yarn start
Here's an overview of how the different components in interact with each other to make the app work. (I didn't include the background worker but it would be situated between Redis and the node server)
The Redis server holds the following important information:
- Codeforces accounts used to submit the code. (create a set called
accounts
and under which the accounts are added in the following format:email;password
) - All the problems indexed by their rating (create a set with each rating and add problems to it as a stringified
Problem
object)
Contributions are what makes the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- 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
Abderrahmane Hana a.hana@aui.ma
Project link: https://github.com/AbdelH2O/duelvsme
- Big thanks to pilcrowOnPaper for his amazing library Lucia-sveltekit.