Geoboard is a project where you can create a dashboard with various widgets containing weather information: temperature for seven next days, wind status, sunrise status, etc.
This repository contains backend part of this project
- PostgreSQL
- Python 3.11 (You can use pyenv to install it)
- Poetry for Python package and environment management
- Create the PostgreSQL Database and User
- Go to project directory and add
.env
file:
cp .env.template .env
- Configure
.env
: add database info, generate jwt key and etc. - Install dependencies py
poetry
:
poetry install
- Start a shell session with the new environment with:
poetry shell
- Run database migrations:
alembic upgrade head
- Install pre-commit:
pre-commit install
cli run-server
You can get additional information about this command if you add --help
flag
Run project and open http://127.0.0.1:8000/api/v1/docs to see list of available endpoints
You can run special helper commands to create user, get users list, run server, etc:
# Create user:
cli user create
# Get more info about all available commands
cli --help