Design a hackathon platform having the below features
• Contestants should be able to register themselves with their name and their department name.
• A problem should have attributes like description, tag, difficulty level (easy, medium, hard), score.
•Contestants should be able to filter problems based on difficulty level or tags and sort them based on score (design should be extensible to other attributes )
• A contestant should be able to solve a problem as well as get the list of problems solved by him/her.
• A contestant should be able to see the number of users that have solved a given problem and average time taken to solve that problem.
• Scoring strategy for a problem could simply be to award the score assigned for the problem or could be something different like a combination of score and time.
Return the current leader of the contest • Users should be able to get curations like Top 10 most liked problems of a certain tag.