Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xaralis/ksicht
This is the KSICHT annual chemistry competition website that allows elementary and high schools students to show off theirs skills on a challenging tasks.
https://github.com/xaralis/ksicht
chemistry django website
Last synced: about 2 months ago
JSON representation
This is the KSICHT annual chemistry competition website that allows elementary and high schools students to show off theirs skills on a challenging tasks.
- Host: GitHub
- URL: https://github.com/xaralis/ksicht
- Owner: xaralis
- License: agpl-3.0
- Created: 2019-11-06T14:01:26.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-11-04T12:33:12.000Z (2 months ago)
- Last Synced: 2024-11-04T13:30:40.701Z (2 months ago)
- Topics: chemistry, django, website
- Language: Python
- Homepage: https://ksicht.natur.cuni.cz/
- Size: 2.25 MB
- Stars: 3
- Watchers: 4
- Forks: 8
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# What is this?
This is the KSICHT [chemistry competition website](https://ksicht.natur.cuni.cz/)
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.## Tech details
This app is built with Python powered by [Django](https://www.djangoproject.com/)
with the usual bells and whitles. Styling is based on
the [Bulma CSS framework](https://bulma.io/). We use PostgreSQL as the database.## Development
Please make sure you have [NVM](https://github.com/nvm-sh/nvm) installed first.
### Installing
Activate NVM:
```bash
nvm use
```There is a `Makefile` to simplify tasks. Start by creating your Python virtual
env:```bash
make init-env && source .env/bin/activate
```Next, install dependencies including the dev and test stuff:
```bash
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:
```bash
createdb ksicht
```Once there, initialize the database by issuing:
```bash
make migrate
```This will run Django migrations & will create all the necessary tables.
### Running the app
Just run this:
```bash
make run
```### Running tests
Again, use the `Makefile`:
```bash
make test
```### Building & deploying
This app is distributed as a Docker container
and [hosted on Docker Hub](https://hub.docker.com/r/xaralis/ksicht).
Makefile provides all the necessary commands:```bash
make build && make push# Shortcut to the above:
make release
```