/acm

A "competitive programming" practice website used by the Chico ACM.

Primary LanguageTypeScriptMIT LicenseMIT

Chico ACM Website

This repository holds the code for the website that is currently in use by the Chico chapter of the Association of Computing Machinery (ACM) at chicoacm.org.

The website compiles arbitrary C++ code using wasi-sdk and runs it against pre-defined tests. Due to the code running with WebAssembly, the site is able to offer fully deterministic timing of solutions. The Chico ACM chapter uses the site to both host local competitions and conduct our weekly meetings.

Screenshot showing the problem editor view of the website. Screenshot showing the submission view of the website.
The fastest solution to the Poker Hand problem. I spent 5 hours working on this.

Running

First install Rust, then clone the repo.

git clone git@github.com:/kil0meters/acm.git
cd acm

Initialize the database:

echo "DATABASE_URL=sqlite://./sqlite.db" > .env
touch db.sqlite

Build the frontend automatically on changes

cd lilith
yarn install
yarn run dev

Then run the server:

JWT_SECRET={JWT_SECRET} DISCORD_SECRET={DISCORD_SECRET} cargo run --package server

And finally run the build server.

cargo run --package ramiel