Skip to content

πŸ† Algo Board is a website to promote friendly competition for solving algorithmic coding problems. Algo Board lets you host weekly / monthly competitions for your fiends, clubs, and other organizations.

License

Notifications You must be signed in to change notification settings

JakeRoggenbuck/algoboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AlgoBoard - algoboard.org

TypeScript Python

About

πŸ† Algo Board is a website to promote friendly competition for solving algorithmic coding problems. Algo Board lets you host weekly / monthly competitions for your friends, clubs, and other organizations.

Why

There are a few reasons I work on this project:

  1. The primary goal is to help friends and myself improve at programming problems. I've gone from ~10 problems solved to >600 problems solved since I built this website. This website was the main way I encouraged myself to continue learning.
  2. The secondary reason is that it's really useful to have a website I can test stuff out with. I've tested different auth methods, different database designs, different deployment setups, and more. Having a website with actual data that is already hosted is a great way for me to put my ideas into practice and have a "sandbox" of sorts that I can modify at any time.

Preview

Home Page

image

Board View

image

Development

Backend

The backend is built using FastAPI and Python.

Environment Vars

You will need a .env file in the backend directory that at least defines these values. These aren't yet used for Google OAuth.

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
SECRET_KEY=
REDIRECT_URL=
JWT_SECRET_KEY=
FASTAPI_SECRET_KEY=
FRONTEND_URL=

Python Virtual Environment

Create the virtual environment

python3 -m venv .venv

Enter the virtual environment

source .venv/bin/activate

I usually call my virtual environment either .venv or more frequently just venv

Install dependencies with:

pip install -r requirements.txt

Formatting for Python

Kronicler uses Ruff for formatting.

You can format all Python files with:

ruff format *.py

You can also check that they have the right format with:

ruff check *.py

Frontend

The frontend is built using React and TypeScript.

Install
npm install
Run
npm run start

About

πŸ† Algo Board is a website to promote friendly competition for solving algorithmic coding problems. Algo Board lets you host weekly / monthly competitions for your fiends, clubs, and other organizations.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published