diff --git a/.env b/.env new file mode 100644 index 0000000..f5563bf --- /dev/null +++ b/.env @@ -0,0 +1,7 @@ +DB_NAME=botanical_garden +DB_USER=garden_admin +DB_PASSWORD=supersecret +DB_HOST=localhost +DB_PORT=5432 +DEBUG=True +SECRET_KEY=django-insecure-change-me diff --git a/README.md b/README.md new file mode 100644 index 0000000..df029d2 --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +REST API для учёта растений и теплиц ботанического сада. Реализовано на Django + Django REST Framework с использованием PostgreSQL в качестве базы данных. + +Система хранит данные о: +- **Теплицах (Greenhouse)** — название, локация, климатическая зона. +- **Растениях (Plant)** — вид, семейство, теплица, высота, частота полива, статус цветения, дата посадки, страна происхождения, статус исчезающего вида. + +## API docs (больше на /api/schema/swagger-ui) + +| Метод | URL | Описание | +|------------------------|------------------------------------------------|-------------------------------------------------| +| GET | `/api_v1/plants/{id}/` | Получить одно растение | +| GET | `/api_v1/plants/?greenhouse=1&is_flowering=true` | Получить группу растений с фильтрами | +| POST | `/api_v1/plants/` | Создать одно растение | +| POST | `/api_v1/plants/bulk-create/` | Создать группу растений | +| PATCH | `/api_v1/plants/{id}/` | Обновить одно растение | +| PATCH | `/api_v1/plants/bulk-update/` | Обновить группу растений по списку id | +| DELETE | `/api_v1/plants/{id}/` | Удалить одно растение | +| DELETE | `/api_v1/plants/bulk-delete/?family=...` | Удалить группу растений по фильтру | +| GET/POST/PATCH/DELETE | `/api_v1/greenhouses/{id}/` | CRUD по теплицам | + +### 1. clone + +```bash +git clone +cd botanical-garden-api +``` + +### 2. .venv + +```bash +python -m venv .venv +source .venv/bin/activate # Linux/macOS +.venv\Scripts\activate # Windows +``` + +### 3. dependencies + +```bash +pip install -r requirements.txt +``` diff --git a/main.py b/main.py deleted file mode 100644 index e69de29..0000000 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..5f1b4ee --- /dev/null +++ b/requirements.txt @@ -0,0 +1,20 @@ +asgiref==3.12.1 +attrs==26.1.0 +certifi==2026.7.22 +charset-normalizer==3.5.1 +Django==6.1.1 +djangorestframework==3.18.0 +drf-spectacular==0.30.0 +idna==3.19 +inflection==0.5.1 +jsonschema==4.26.0 +jsonschema-specifications==2025.9.1 +psycopg2-binary==2.9.12 +python-dotenv==1.2.3 +PyYAML==6.0.3 +referencing==0.37.0 +requests==2.34.2 +rpds-py==2026.6.3 +sqlparse==0.6.0 +uritemplate==4.2.0 +urllib3==2.7.0