An open API service indexing awesome lists of open source software.

https://github.com/kil0meters/acm

A "competitive programming" practice website used by the Chico ACM.
https://github.com/kil0meters/acm

a pr

Last synced: 17 days ago
JSON representation

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

Awesome Lists containing this project

README

          

# 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](https://chicoacm.org).

The website compiles arbitrary C++ code using
[wasi-sdk](https://github.com/WebAssembly/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.

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

Initialize the database:

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

Build the frontend automatically on changes

```sh
cd lilith
yarn install
yarn run dev
```

Then run the server:

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

And finally run the build server.

```sh
cargo run --package ramiel
```