Skip to content

OsmanKandemir/deprem-yardim-backend

 
 

Repository files navigation

alt text

Afet-Harita Python Version Docker Platform Django DjangoRest nginx git celery aws

Afet Harita Backend

https://afetharita.com için back-end projesi. https://api.afetharita.com adresinden erişilebilir.

Diğer projeler: https://github.com/acikkaynak/deprem-yardim-projesi

Kullanılan teknolojiler

Python (Django), Postgres (PostgreSQL), Redis, AWS (Elastic Load Balancer, ECS, AWS Fargate), OpenAI (Görsellerin metine çevirilmesi)

Projeyi çalıştırmak

Bağımlılıklar:

Docker (opsiyonel): Geliştirmek için şart değilse de gereksinimleri yüklemeyi ve geliştirme yapmayı kolaylaştıracaktır. Canlıda proje docker üzerinde AWS ECS'lerde çalışmaktadır.

PostgreSql: Veritabanı olarak kullanılmaktadır. Adresten doğrudan bilgisayarınıza indirebilir ya da docker imajını kullanabilirsiniz.

Redis: Asenkron Celery görevleri için kuyruk ve cache olarak kullanılmaktadır. Doğrudan bilgisayarınıza indirebilir (Linux için) ya da docker imajını kullanabilirsiniz. Windows'ta son versiyon doğrudan çalışmadığı için WSL ile docker'da çalıştırmak en iyi seçenek.

Geliştirme ortamının hazırlanması

git clone https://github.com/acikkaynak/deprem-yardim-backend.git

Docker yükledikten sonra tüm projeyi docker-compose ile çalıştırmak için

docker-compose up -d

Geliştirme için sadece postgres ve redisi ayağa kaldırmak için:

docker-compose up -d database redis

Python

Python bağımlılık yönetimi poetry ile sağlanmaktadır.

pip install poetry
poetry install

ile gerekli paketleri yükleyebilirsiniz. Poetry kendi ortamını oluşturup paketleri oraya yükleyecektir.

Daha sonra ortam değişkenlerini ayarlayın. .env.template dosyasını .env adıyla kopyalayıp gerekli ayarları yapın. Compose'dan gelen örnek ayarlarla aşağıdaki gibi olacaktır:

DJANGO_SECRET_KEY= # django için secret-key
POSTGRES_PASSWORD=debug
POSTGRES_USER=debug
POSTGRES_DB=debug
POSTGRES_HOST=trquake-database
POSTGRES_PORT=5432
CELERY_BROKER_URL=trquake-redis
ZEKAI_USERNAME= # zekai.io kullanıcı adı
ZEKAI_PASSWORD= # zekai.io şifre
DEFAULT_ADMIN_PASSWORD= # ilk oluşturulan admin kullanıcısı için şifre

Django Secret key oluşturmak için:

python
>>> from django.core.management.utils import get_random_secret_key
>>> print(get_random_secret_key())

Projeyi development modunda açmak için:

django-admin createsuperuser
django-admin migrate
django-admin runserver

Celery için geliştirilen taskları çalıştırmak için:

celery -A trquake.celery.app worker -B -l DEBUG

About

afetharita.com backend projesi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.8%
  • Dockerfile 4.4%
  • Shell 0.8%