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 useThere is a Makefile to simplify tasks. Start by creating your Python virtual
env:
make init-env && source .env/bin/activateNext, install dependencies including the dev and test stuff:
make install && make install-dev && make install-testYou 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 ksichtOnce there, initialize the database by issuing:
make migrateThis will run Django migrations & will create all the necessary tables.
Just run this:
make runAgain, use the Makefile:
make testThis 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