45 lines
1.1 KiB
Markdown
45 lines
1.1 KiB
Markdown
# AirShelf Backend
|
|
|
|
All backend code lives under `AirShelf/core/backend` by project decision.
|
|
|
|
## Local bootstrap
|
|
|
|
```bash
|
|
cd /Users/maidong/Desktop/zyc/qiyuan_gitea/AirShelf/core/backend
|
|
python3.12 -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
cp .env.example .env
|
|
python manage.py migrate
|
|
python manage.py runserver 0.0.0.0:8000
|
|
```
|
|
|
|
Start workers in separate terminals:
|
|
|
|
```bash
|
|
cd /Users/maidong/Desktop/zyc/qiyuan_gitea/AirShelf/core/backend
|
|
source .venv/bin/activate
|
|
celery -A airshelf worker -l info
|
|
```
|
|
|
|
`ffmpeg` must be available on `PATH` for Stage5 export jobs.
|
|
|
|
## Runtime layout
|
|
|
|
- Django project: `airshelf`
|
|
- Domain apps: `apps/*`
|
|
- Settings module: `airshelf.settings.development`
|
|
- Celery app: `airshelf.celery`
|
|
|
|
Secrets must be supplied by environment variables or `.env`; never commit values from `account.md`.
|
|
|
|
## Useful commands
|
|
|
|
```bash
|
|
python manage.py check
|
|
python manage.py makemigrations --check --dry-run
|
|
python manage.py migrate
|
|
python manage.py bootstrap_volcano_models
|
|
python manage.py test apps.accounts apps.projects apps.billing
|
|
```
|