๐ŸŽ‰ Fair-Mashup ๐ŸŽฏ

yeneineh seiba

๐ŸŽ‰ Fair-Mashup ๐ŸŽฏ

Welcome to Fair-Mashup โ€“ the ultimate tool for creating fair and balanced Codeforces mashup contests! ๐ŸŽŠ

๐ŸŒŸ What is Fair-Mashup?

Fair-Mashup is a simple yet powerful web-based tool designed to help you build Codeforces mashup contests. The twist? None of the participants in the contest will have solved or even attempted the selected problems before! ๐Ÿ”ฅ
Whether you're a competitive programmer, a trainer, or just a fan of mashups, this tool helps you select problems that match your difficulty preferences and tags, ensuring a level playing field for all participants. No more sneaky participants with unfair advantages! ๐Ÿ˜‰

๐Ÿš€ Features

Participant Filtering: Add the participantsโ€™ usernames and ensure the selected problems havenโ€™t been solved or even attempted (with wrong answers) by any of them.
Problem Tags: Choose problems based on specific tags like dp, graphs, greedy, and many more.
Difficulty Range: Set a minimum and maximum difficulty level to target problems that suit your contest's skill range.
Problem Links: Get direct links to unsolved problems from Codeforces โ€“ just one click away!
Mashup-ready: Once the problems are generated, you can use them to create a Codeforces mashup directly.

๐Ÿ› ๏ธ How It Works

Enter the participants' usernames.
Select the tags you're interested in.
Define a difficulty range (minimum and maximum problem ratings).
Hit that submit button! ๐ŸŽฏ
Get a list of unsolved problems that participants havenโ€™t solved or even attempted with wrong answers, tailored to your mashup.
Click on the links and open the problems directly on Codeforces.

๐Ÿง‘โ€๐Ÿ’ป What's Under the Hood?

Fair-Mashup is built with:
Go ๐Ÿน โ€“ Our backend that handles the heavy lifting of fetching data from the Codeforces API and filtering it based on participantsโ€™ solved problems and attempted problems with wrong answers.
HTML/CSS/JavaScript ๐ŸŽจ โ€“ A clean and responsive frontend interface that makes it super easy to input data and view the results.
No external dependencies ๐Ÿ“ฆ โ€“ We like to keep things simple. No need for Node.js or any other package managers. Just pure Go, HTML, CSS, and JavaScript.

๐Ÿ› ๏ธ Installation

Getting started is super easy:
Clone the repo:
Run the Go server:
Open the HTML page: Open localhost:8080 in your favorite browser, and you're ready to go!
Enjoy crafting your contest! ๐ŸŽ‰

๐ŸŽจ Interface

Once you load the page, youโ€™ll find a simple form where you can:
Enter participant handles
Select problem tags
Set the difficulty range
After hitting submit, youโ€™ll get a neatly formatted table with:
Problem Name ๐Ÿท๏ธ
Difficulty ๐Ÿ“Š
Tags (displayed as bullet points ๐Ÿ”ต for easy readability)
Contest ID and Index
A link to solve the problem on Codeforces (because time is money, right? ๐Ÿ’ธ)

๐Ÿ’ก Use Cases

Trainers: Ensure no participant has prior experience with the problems.
Friends: Want to have a friendly contest? This tool ensures fair play!
Competitive Programming Groups: Plan a contest that is perfectly balanced between all participants.

๐Ÿ”ง Future Improvements

Some cool features weโ€™re thinking about:
Adding more filtering options (like contest types or time constraints).
Adding support for multiple programming contest platforms (Codeforces is just the beginning!).
Dynamic difficulty adjustment based on participantsโ€™ previous performances.

๐ŸŽ‰ Deployed Project

Want to check out the live version? Click here to explore Fair-Mashup! ๐ŸŒ

๐Ÿค Contributing

Found a bug? Have a cool feature idea? Pull requests are welcome! You can also open an issue if you want to discuss anything related to the project. Letโ€™s build something awesome together!

๐Ÿ“ž Contact Information

Feel free to reach out if you have any questions or suggestions:
Yeneineh Seiba Tonja Email: yeneineh seiba GitHub: yesetoda LinkedIn: yeneineh (yesetoda) seiba
Happy mashup-ing! ๐ŸŽ‰
Like this project

Posted Oct 26, 2024

Contribute to yesetoda/Fair-Mashup development by creating an account on GitHub.

yesetoda/Loan-Tracker-API
yesetoda/Loan-Tracker-API
InsightEd: Empowering Education Through Community Collaboration
InsightEd: Empowering Education Through Community Collaboration
yesetoda/Loan-Tracker-API
yesetoda/Loan-Tracker-API

Join 50k+ companies and 1M+ independents

Contra Logo

ยฉ 2025 Contra.Work Inc