49 lines
984 B
Markdown
49 lines
984 B
Markdown
# KKPAB Site
|
|
|
|
Modernized rebuild of `kkpab26.ru` using:
|
|
|
|
- Django + Django REST Framework for content management API
|
|
- Next.js for the public website
|
|
- PostgreSQL for production data
|
|
- Nginx for reverse proxy and static/media delivery
|
|
|
|
## Structure
|
|
|
|
- `backend/` Django API and admin
|
|
- `frontend/` Next.js public website
|
|
- `deploy/` deployment templates
|
|
|
|
## Local setup
|
|
|
|
### Backend
|
|
|
|
```bash
|
|
cd backend
|
|
python -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
cp .env.example .env
|
|
python manage.py migrate
|
|
python manage.py loaddata content/fixtures/initial_data.json
|
|
python manage.py createsuperuser
|
|
python manage.py runserver 0.0.0.0:7788
|
|
```
|
|
|
|
### Frontend
|
|
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
cp .env.local.example .env.local
|
|
npm run dev
|
|
```
|
|
|
|
Frontend expects API at `http://localhost:7788/api`.
|
|
|
|
## Production notes
|
|
|
|
- build frontend with `npm run build`
|
|
- run Django with `gunicorn`
|
|
- route `/api`, `/admin`, `/media`, `/static` to Django
|
|
- route `/` to Next.js
|