Skip to content

Provide a place to host local and interschool competitive programming competitions for highschoolers.

License

Notifications You must be signed in to change notification settings

Suncoast-Computer-Science/cs-club-official-site

Repository files navigation

Suncoast CS Club Website Bruh

Visit the site

About

The website provides a place to host local and interschool competitive programming competitions for highschoolers.

Competitions

Intraschool

The CS club has hosted informal competitive programming competitions at Suncoast before that didn't require as much planning. But, even grading submissions on such a small scale required a lot of effort. In the future, the CS club site will be used for these school competitions allowing us to grade submissions and handle users in a streamlined way.

Interschool

The chief reason for the site is to handle interschool competitions between schools in Palm Beach School District (PBSD). There are some notable competitive programming competitions in Florida (like UCF's HSPT), but there are no major ones in PBSD. This competition would also be organized by highschool students, for highschool students. Hosting it earlier without a dedicated website was too logistically challenging. The website will allow us to run a large scale competition and continue in future years.

Stack

Frontend

Backend

  • Firebase
    • Authentication
    • Database
    • Serverless functions
  • Judge0
    • Code execution from editor
    • Grading submissionss

In the Future

Expanding the site to use it for other club purposes:

  • Other Local Competitions
  • Programming Resources
  • CS Tutoring
  • Club Attendance

Getting Started

Set up development environment to work on the website. These steps will work for any code editor or IDE, we use Visual Studio Code.

Clone the project

Clone this Github repository into your local device by running

git clone https://github.com/Suncoast-Computer-Science/cs-club-official-site.git

Setup a Firebase project

To run Firebase with the project yourself, you will have to make your own firebase app. Go to the Firebase site and follow the instructions.

Dependencies

Required CLIs

First install Node

Next install the rest of the CLIs by following the instructions linked or running the following commands.

  • Firebase npm install -g firebase-tools
  • Prettier npm install --save-dev --save-exact prettier

Install project dependencies

Inside your local copy of the project, navigate to cs-club-official-site/ and run the command npm install to install the project dependencies. Next, navigate to cs-club-official-site/functions and run npm install again.

Keys and Secrets

Firebase - If you created your own firebase app, you should be able to access your keys/secrets from Firebase Console => Settings

Judge0 - If you want to get the code submission to run, you will need to set up the Judge0 API, also using your own values.