A seminar work at the Hochschule Karlsruhe - University of Applied Sciences (HKA) with the title "Web development with Streamlit and Python".
[[TOC]]
Topic | Documentation |
---|---|
backend/hasura | README.md |
Technology | Link |
---|---|
Streamlit | https://streamlit.io/ |
Python | https://python.org/ |
PostgreSQL | https://postgresql.org/ |
Hasura | https://hasura.io/ |
Tool | Version | Comment |
---|---|---|
Node.js | 16@latest | It is recommended to use nvm to quickly switch between node.js versions |
Commitizen | latest | npm install -g commitizen |
Use the commitizen cli to commit.
- Stage your changes
- Run
git cz
in the terminal - Select the proper type
- Select a scope, e.g.:
- frontend/...
- backend/...
- Write a short description
- Skip the other options
This project contains some useful npm scripts under ./package.json
for building and running the server. They also automate some processes to enhance development and deployment. Scripts can be executed within the top level directory (/
) of this repository by executing the following:
npm run script-name
Please use the correct script depending on your OS. Scripts that only run on one OS (e.g. Windows) are suffixed with an abbreviation. No abbreviation means that any OS can run the script.
win:
Windowslnx:
Linuxmac:
Mac
Script name | Description |
---|---|
win:init |
Initializes the repository |
lnx:init |
Initializes the repository |
mac:init |
Initializes the repository |
To make sure commitizen works in the root directory you need to install its dependencies inside the root directory. You will also have to copy the .env files to make sure the environment is set up correctly. The following steps will guide you threw the initialization process.
Run one of the init scripts from the package.json depending on your operating system. (e.g. npm run win:init
)
Update the .env files with strong auth keys and passwords. (Optional for local development)
For local development you will have to run the docker containers using the given docker-compose.yml. By default it serves the whole application. You can then stop specific containers if you want to develop them manually. The necessary configuration in that regard will be explained further down.
Use Docker Desktop to manage and analyze the container with ease.
docker compose build --no-cache
docker compose up -d