Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gunslaveunit/hotopia
Helps in choosing a hobby
https://github.com/gunslaveunit/hotopia
alembic docker fastapi kivy kivymd python sqlalchemy
Last synced: 9 days ago
JSON representation
Helps in choosing a hobby
- Host: GitHub
- URL: https://github.com/gunslaveunit/hotopia
- Owner: gunSlaveUnit
- License: mit
- Created: 2023-11-09T15:28:43.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-02-01T13:11:58.000Z (11 months ago)
- Last Synced: 2024-12-18T19:09:07.686Z (9 days ago)
- Topics: alembic, docker, fastapi, kivy, kivymd, python, sqlalchemy
- Language: Python
- Homepage:
- Size: 1.94 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![Client interface](client/collage.png)
# HOTOPIA
"Hobby utopia", hobby search application.This project contains two main parts:
- Client - a mobile application, build with Kivy and KivyMD
- Server - FastAPI, SQLAlchemy, RedisThe common part stores validation schemas and URLs.
Python version - 3.12.
## Getting started
So, clone this repo:
```
git clone https://github.com/gunslaveunit/hotopia
cd hotopia/
```
Add path/to/a/project/hotopia to system variables, so Python can look for common, server and client.Configure your .env file. For example:
```
HOST=0.0.0.0
PORT=8000
DEBUG=True
RELOAD=True
DB_URL=sqlite+aiosqlite:///hotopia.sqlite3 # or for PostgreSQL: postgresql+asyncpg://postgres:postgres@localhost:5432/hotopia
```### Manual
Create virtual environment:
```
python -m venv venv
source venv/bin/activate # or without "source" for Windows
```Install requirements for both client and server:
```
pip install -r server/requirements.txt
pip install -r client/requirements.txt
```Run migrations:
```
cd server/
alembic upgrade head
cd ..
```Run both parts:
```
python server/src/run.py
python client/src/run.py
```### Docker
You can run a server part using Docker Compose:
```
docker-compose up
```