Aplikacja Django do analizy sentymentu i opinii o miastach.
Przed rozpoczęciem upewnij się, że masz zainstalowane:
- Docker & Docker Compose - dla PostgreSQL i aplikacji Django (zalecane)
LUB (dla uruchomienia lokalnego bez Dockera):
- uv - menedżer pakietów Python (automatycznie zainstaluje Python 3.13)
- GDAL, GEOS, PROJ - biblioteki systemowe dla GeoDjango
Najłatwiejszy sposób - wszystko działa automatycznie, bez instalacji dodatkowych bibliotek.
git clone <repository-url>
cd cityfeelSkopiuj przykładowy plik środowiskowy i zaktualizuj go swoimi danymi:
cp .env.example .envEdytuj plik .env i ustaw dane dostępowe do bazy danych:
DB_NAME=cityfeel
DB_USER=cityfeel_user
DB_PASSWORD=twoje_bezpieczne_haslo
DB_HOST=localhost
DB_PORT=5432Zbuduj i uruchom kontenery (PostgreSQL + Django):
docker compose --profile server up --buildAplikacja będzie dostępna pod adresem: http://127.0.0.1:8000/
W nowym terminalu:
docker compose exec web uv run cityfeel/manage.py migratedocker compose exec web uv run cityfeel/manage.py createsuperuserPanel administracyjny: http://127.0.0.1:8000/admin/
git clone <repository-url>
cd cityfeelUbuntu/Debian:
sudo apt-get update
sudo apt-get install -y gdal-bin libgdal-dev libgeos-dev libproj-dev binutilsmacOS:
brew install gdal geos projcp .env.example .envEdytuj .env:
DB_NAME=cityfeel
DB_USER=cityfeel_user
DB_PASSWORD=twoje_bezpieczne_haslo
DB_HOST=localhost
DB_PORT=5432uv syncdocker compose up postgres -duv run cityfeel/manage.py migrateuv run cityfeel/manage.py createsuperuseruv run cityfeel/manage.py runserverAplikacja będzie dostępna pod adresem: http://127.0.0.1:8000/
Panel administracyjny: http://127.0.0.1:8000/admin/
# Uruchom wszystkie kontenery (PostgreSQL + Django)
docker compose --profile server up
# Uruchom w tle
docker compose --profile server up -d
# Przebuduj obrazy i uruchom
docker compose --profile server up --build
# Zatrzymaj wszystkie kontenery
docker compose --profile server down
# Zatrzymaj i usuń wszystkie dane (UWAGA: usuwa dane z bazy!)
docker compose --profile server down -v
# Zobacz logi
docker compose --profile server logs -f
# Zobacz logi tylko Django
docker compose logs -f web
# Zobacz logi tylko PostgreSQL
docker compose logs -f postgres
# Uruchom tylko bazę danych
docker compose up postgres -d# Uruchom migracje
docker compose exec web uv run cityfeel/manage.py migrate
# Utwórz migracje po zmianach w modelach
docker compose exec web uv run cityfeel/manage.py makemigrations
# Utwórz superużytkownika
docker compose exec web uv run cityfeel/manage.py createsuperuser
# Uruchom shell Django
docker compose exec web uv run cityfeel/manage.py shell
# Uruchom testy
docker compose exec web uv run cityfeel/manage.py test
# Zbierz pliki statyczne
docker compose exec web uv run cityfeel/manage.py collectstatic
# Otwórz bash w kontenerze Django
docker compose exec web bash# Połącz się z bazą PostgreSQL przez psql
docker exec -it cityfeel_postgres psql -U cityfeel_user -d cityfeel# Weryfikacja instalacji PostGIS
docker exec cityfeel_postgres psql -U cityfeel_user -d cityfeel -c "SELECT PostGIS_Version();"
# Sprawdzenie zainstalowanych rozszerzeń przestrzennych
docker exec cityfeel_postgres psql -U cityfeel_user -d cityfeel -c "\dx"# Utwórz nową aplikację Django
uv run cityfeel/manage.py startapp <nazwa_aplikacji>
# Utwórz migracje po zmianach w modelach
uv run cityfeel/manage.py makemigrations
# Zastosuj migracje
uv run cityfeel/manage.py migrate
# Utwórz superużytkownika
uv run cityfeel/manage.py createsuperuser
# Uruchom serwer deweloperski
uv run cityfeel/manage.py runserver
# Uruchom testy
uv run cityfeel/manage.py test
# Zbierz pliki statyczne
uv run cityfeel/manage.py collectstaticTen projekt wykorzystuje:
- Django 5.2.7 - Framework webowy
- GeoDjango - Rozszerzenie Django dla danych geograficznych
- PostgreSQL 16 z PostGIS 3.6 - Baza danych z rozszerzeniem przestrzennym
- Docker & Docker Compose - Konteneryzacja aplikacji
- uv - Szybki menedżer pakietów Python
- Pillow - Obsługa obrazów (avatary użytkowników)
- psycopg2 - Adapter PostgreSQL dla Python
- python-dotenv - Zarządzanie zmiennymi środowiskowymi