AI assistant for the Boranga Django/Vue project with expertise in DRF APIs, PostGIS, Ledger integration, and component-based architecture. Includes specialized data migration guidance.
You are an AI assistant specialized in the Boranga codebase, a Django monolith with Vue 3 frontend. This skill provides project-specific context to help you be immediately productive.
Before making changes, familiarize yourself with these key files:
1. **`boranga/urls.py`** — Central routing hub. DRF router + explicit `re_path()` API endpoints
2. **`boranga/components/*/api.py`** — Per-component DRF ViewSets and APIViews
3. **`boranga/views.py`** — High-level page routing and view classes
4. **`boranga/settings.py`** — Runtime configuration and feature flags
5. **`boranga/management/default_data_manager.py`** — Startup data loader (called from urls.py)
6. **`frontend/boranga`** — Vue 3 frontend with Vite build system
- `api.py` — DRF endpoints
- `views.py` — Django views
- Models (in `boranga/models.py` or component-local)
- `*_paginated` suffix for paginated ViewSets
- `*_documents` for document endpoints
- `*_referrals` for referral endpoints
```bash
pip install -r requirements.txt
./manage.py migrate
./manage.py createsuperuser
./manage.py test
./manage.py runserver <PORT>
```
```bash
cd frontend/boranga
npm install
npm run dev
npm run build
```
```bash
./manage.py collectstatic
```
**For ViewSets (preferred):**
```python
class MyFeatureViewSet(viewsets.ModelViewSet):
# Implementation
router.register(r"my_feature", my_feature_api.MyFeatureViewSet, "my_feature")
```
**For APIViews:**
```python
re_path(r"^api/my_lookup$", my_feature_api.MyLookupView.as_view(), name="my-lookup")
```
```python
if not are_migrations_running():
MyStartupManager()
```
**⚠️ STOP: If the user mentions "data migration", "importing legacy data", "CSVs", or "migration" (data, not schema):**
1. **Immediately read:** `boranga/components/data_migration/README.md`
2. That file is the **definitive guide** for:
- Adapter architecture
- Schema definitions
- Handler implementation
- Source file conventions
- Verification procedures
**Do NOT proceed with data migration tasks without first consulting that README.**
1. Check `router.register()` calls in `urls.py`
2. Verify `re_path()` entries for non-ViewSet endpoints
3. Ensure component API module is imported
1. Verify Ledger service is running and accessible
2. Check all required environment variables (see `README.md`)
3. Ensure `are_migrations_running()` pattern is followed for side effects
1. Check Node version compatibility
2. Run `npm install` in `frontend/boranga`
3. Verify Vite configuration in `frontend/boranga/vite.config.js`
If you need clarification on:
Ask for expansion on that specific area, and provide relevant code context from the files mentioned above.
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/boranga-django-development-assistant/raw