Inspiration

This project was inspired by Codeforces and a Discord bot that scrapes Codeforces for 1v1 duels. We decided there was a need for a website that does the same thing but with clean UI and more functions.

What it does

Users can create a duel request and set problem difficulty rating range, time limit, and problem count. They then input their username for Codeforces (the platform currently supported) and the website then creates the duel. Another player can join and input their username, and then the match will begin by querying Codeforces for the desired problems and starting a timer.

How we built it

We built it using React.js for the frontend, Node.js/Express for the backend, and Socket.io for the websocket connections. We used libraries like Material UI as well.

Challenges we ran into

We ran into issues with CORS and getting our frontend to connect with backend. We also had issues with using Codeforces API for database requests.

Accomplishments that we're proud of

We are proud of the UI we were able to produce, and the overall functionality of the website.

What we learned

We learned to use Socket.io and Material UI.

What's next for CPDuels

We intend to add more functionality such as other websites to practice problems from and also a new user signin system for faster duel creation.

Built With

Share this project:

Updates