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
- express.js
- heroku
- javsacript
- node.js
- react
- socket.io
- vercel
Log in or sign up for Devpost to join the conversation.