Skip to content

Repository files navigation

Campus-Navigate-3D — Backend (Django)

Project Status License Українська

Fullstack Python Django DRF

REST-API для керування 3D-навігацією по університетському комплексу:

  • Автоматичні маршрути (обліт точок)
  • Вільний політ
  • Адмін-панель для додавання та редагування локацій
  • Ендпоінт для завантаження актуальної 3D-моделі

✨ Основні можливості

  • 📍 FlightLocation API

    • Список точок (GET /api/locations/)
    • Деталі точки (GET /api/locations/{id}/)
    • Список точок по категорії (GET /api/locations/category/{category_name})
  • 🗺 Active Model File Endpoint

    • Повертає актуальний .glb файл моделі (GET /api/active-model-file/)
  • 🔐 Адмін-панель

    • Універсальна модель FlightType, FlightPath, FlightPoint
    • Відмітка активної 3D-моделі (is_active)
    • Інлайн-редагування точок обльоту

🤝 Взаємодія з фронтендом

Цей бекенд розроблений для роботи разом з фронтенд-додатком на React. Ключові точки інтеграції:

  • Фронтенд використовує /api/locations/ для отримання точок навігації
  • 3D-модель завантажується через /api/active-model-file/

🛠 Технології

  • Python 3.10+
  • Django 4.2
  • Django REST Framework
  • django-cors-headers (CORS)
  • SQLite / PostgreSQL
  • FileResponse для доставки .glb файлу

🚀 Установка та запуск

  1. Клонування репозиторію

    git clone https://github.com/Zebaro24/Campus-Navigate-3D-BE.git backend
    cd backend
  2. Віртуальне оточення та залежності

    python -m venv venv
    source venv/bin/activate      # Linux/macOS
    venv\Scripts\activate         # Windows
    pip install -r requirements.txt
  3. Міграції та створення суперкористувача

    python manage.py migrate
    python manage.py createsuperuser
  4. Запуск сервера

    python manage.py runserver 0.0.0.0:8000

🔍 Тестування API

  • Список локацій GET http://localhost:8000/api/locations/

  • Деталі локації GET http://localhost:8000/api/locations/1/

  • Список локацій за категорією GET http://localhost:8000/api/locations/category/important/

  • Отримати активну модель GET http://localhost:8000/api/active-model-file/ — повертає .glb файл з кеш-заголовками


📧 Контакти

About

🧭 Django REST API for managing interactive 3D campus navigation. Provides flight paths, dynamic model loading, and admin tools for point management.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages