FSA-Grads-Project / competition-site

Data structures and algorithms competition site

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The Dispatch

Overview

The Dispatch is an algorithms and data structures competition site where a user's solution to a problem is ranked based on a composite score calculated from the following factors:

  • Time to complete the problem
  • Time the algorithm takes to run the test cases
  • Memory used

Every problem is designed to have multiple solutions with varying time and space complexities and dependent on the problem, the composite score is weighted based on whether the time the algorithm takes to run or the memory usage is determined to be the critical factor.

A new problem is released every calendar month and solutions submitted during that time are ranked and added to the leaderboard. Past problems are available in a playground setting, but solutions submitted for past problems are not included in the leaderboard for the problem.

Features

  • New problem every month: The Dispatch releases a new problem every calendar month, providing users with fresh opportunities to test their problem-solving skills.

  • Access past problems: Users can access past problems at any time, even without logging in. These problems are available in a playground setting, allowing users to refine their problem-solving skills.

  • Real-time leaderboard: The Dispatch features a real-time leaderboard that shows rankings based on the composite score. This allows users to see how their solutions stack up against others and provides an added layer of competition.

Technologies Used

The Dispatch was built using a variety of technologies, including:

  • React: A JavaScript library used for building user interfaces.
  • Redux Tool Kit: A set of tools for building React/Redux applications.
  • OAuth Authentication: A secure way to authenticate users using third-party providers.
  • Docker: A tool used for containerization of the application.
  • Monaco: A code editor used for the development environment.
  • Express: A fast, unopinionated, minimalist web framework for Node.js.
  • PostgreSQL: An open-source relational database management system.
  • TailwindCSS: A utility-first CSS framework for rapid UI development.

How to Participate In The Competition

To participate in The Dispatch, users can navigate to the website and sign up for an account. Once registered, users can access the current month's problem and begin working on their solution.

After developing a solution, users can submit their code for evaluation, where it will be ranked based on the composite score which consists of the time to solve, time code takes to execute, and memory used. Users can also view the leaderboard to see how their solution compares to others.

Brief Demo

Below is a brief demo displaying the home page along with the submission of the solution TheDispatchSample

About

Data structures and algorithms competition site


Languages

Language:JavaScript 98.7%Language:CSS 0.9%Language:HTML 0.4%