bublliodocs
Ανάπτυξη και λειτουργία

Developer commands

Τα βασικά commands για setup, εκκίνηση, έλεγχο και καθημερινή ανάπτυξη backend και frontend.

Αρχικό setup

./scripts/bootstrap.sh

Το script εγκαθιστά τις Python και frontend dependencies, εφαρμόζει τις database migrations και εκτελεί τον configuration check του Django.

Εκκίνηση εφαρμογής

ΣτόχοςCommand
Κανονικά development data./scripts/dev.sh
Καθαρό onboarding flow./scripts/onboarding-dev.sh reset
Συνέχιση onboarding sandbox./scripts/onboarding-dev.sh start
Νέο demo με δεδομένα./scripts/demo-dev.sh reset
Συνέχιση του demo./scripts/demo-dev.sh start
Τοπικό email inbox./scripts/mailpit-dev.sh

Features που στέλνουν transactional email ή εκτελούν Automations χρησιμοποιούν background jobs. Για να δοκιμάσετε αυτές τις ροές, τρέξτε τα παρακάτω σε ξεχωριστά terminals:

docker compose up -d rabbitmq
uv run celery --workdir=src -A bubllio_crm worker --loglevel=INFO
uv run celery --workdir=src -A bubllio_crm beat --loglevel=INFO

Το database-backed outbox διατηρεί τα jobs αν ο broker ή ο worker μείνει προσωρινά εκτός λειτουργίας. Το Celery Beat δημοσιεύει ξανά τα jobs που έχουν φτάσει στην ώρα εκτέλεσής τους, μία φορά το λεπτό. Το CELERY_TASK_ALWAYS_EAGER=true είναι διαθέσιμο για isolated tests, αλλά δεν αντιπροσωπεύει τη συμπεριφορά production.

Τα onboarding και demo profiles χρησιμοποιούν ξεχωριστές SQLite databases κάτω από το .local/. Δεν χρησιμοποιούν ποτέ την κανονική database που ορίζεται στο .env.

Τα στοιχεία σύνδεσης του demo είναι:

username: demo
password: demo-password

Το seed_demo είναι idempotent και μπορεί να εκτελεστεί και σε development database:

uv run python src/manage.py seed_demo
uv run python src/manage.py seed_demo --reset

Αρνείται να εκτελεστεί όταν DJANGO_DEBUG=false.

Έλεγχος περιβάλλοντος

./scripts/doctor.sh

Το script ελέγχει τα απαιτούμενα commands, τις εγκατεστημένες dependencies, τη σύνδεση με Django και database, τυχόν εκκρεμείς migrations και τις development ports.

Επαλήθευση αλλαγών

Κατά την ανάπτυξη:

./scripts/verify.sh fast

Πριν από handoff ή release:

./scripts/verify.sh full

Το full προσθέτει frontend build, browser tests, έλεγχο συμφωνίας των release versions και ελέγχους compilation των transactional email templates.

Και οι δύο επιλογές επικυρώνουν επίσης το OpenAPI contract. Για τοπικό αντίγραφο προς επιθεώρηση ή χρήση από client tooling, τρέξτε:

./scripts/generate-api-schema.sh

Το αποτέλεσμα γράφεται στο .local/openapi.yaml. Είναι generated local artifact και εξαιρείται σκόπιμα από το Git.

Προβολή τοπικών emails

Το ./scripts/mailpit-dev.sh εκκινεί το Mailpit και ρυθμίζει το Django να στέλνει εκεί τα emails. Ανοίξτε το http://127.0.0.1:8025. Τα μηνύματα παραμένουν στον τοπικό υπολογιστή.

Εγκατάσταση Git hooks

./scripts/install-git-hooks.sh

Το pre-commit hook απορρίπτει local artifacts και absolute paths από contributor περιβάλλοντα. Εκτελεί Django checks για staged Python changes και frontend lint για staged TypeScript/JavaScript changes. Τα πλήρη tests παραμένουν ξεχωριστό βήμα, ώστε τα commits να είναι γρήγορα.

Το hook είναι προαιρετική τοπική βοήθεια. Στο CI εκτελούνται οι έλεγχοι που αποτελούν την τελική πηγή αλήθειας.