This is the KSICHT chemistry competition website that allows elementary and high schools students to show off theirs skills on a series of challenging tasks.
The competition takes place annually and consist of 4 quaterly series that loosely follow the general school year, e.g. starts on autumn and finishes at late spring. Each series has approx. 5 tasks to complete and contenders will receive points for each task separately. They can also receive bonus badges for various acheievements. The contestant to receive the most points in total, wins.
This app is built with Python powered by Django with the usual bells and whitles. Styling is based on the Bulma CSS framework. We use PostgreSQL as the database.
Please make sure you have NVM installed first.
Activate NVM:
nvm use
There is a Makefile
to simplify tasks. Start by creating your Python virtual
env:
make init-env && source .env/bin/activate
Next, install dependencies including the dev and test stuff:
make install && make install-dev && make install-test
You will also need to boostrap your database. By default, a PostgreSQL database named
ksicht
is expected to exist on your local machine. This can be modified by
overriding the DATABASE_DSN
env variable when running the app.
First though, you'll need the database to exist:
createdb ksicht
Once there, initialize the database by issuing:
make migrate
This will run Django migrations & will create all the necessary tables.
Just run this:
make run
Again, use the Makefile
:
make test
This app is distributed as a Docker container and hosted on Docker Hub. Makefile provides all the necessary commands:
make build && make push
# Shortcut to the above:
make release