PythonSelfStorageDjango — это веб-приложение на основе Django, предназначенное для управления арендой ячеек складов.
- Управление складами: создание, редактирование информации о складах.
- Управление заказами: создание/сортировка по параметрам/
- Управление ячейками: создание пустых ячеек на складе, указание размера
- Python 3.7+
- Django 5.1+
- Установленные зависимости из
requirements.txt
- Клонируйте репозиторий:
git clone https://github.com/GoNt1eRRR/PythonSelfStorageDjango
cd PythonSelfStorageDjango- Создайте виртуальное окружение:
python3 -m venv env
source venv/bin/activate # Для Windows: venv\Scripts\activateУстановите зависимости:
pip install -r requirements.txt
Примените миграции базы данных:
python manage.py migrate
Создайте суперпользователя для доступа к административной панели:
python manage.py createsuperuser
Запустите сервер разработки:
python manage.py runserver
self_storage/— основной модуль проекта.api/— модуль, содержащий реализацию API.storage/— модуль, отвечающий админ-панель, также определения моделей.manage.py— скрипт для управления проектом.requirements.txt— файл с перечнем зависимостей проекта.
GET /api/custom-user/: Получить список всех пользователейPOST /api/custom-user/: Создать нового пользователяGET /api/custom-user/{id}/: Получить данные пользователя по IDPATCH /api/custom-user/{id}/: Обновить данные пользователяDELETE /api/custom-user/{id}/: Удалить пользователя
GET /api/storage/: Получить список всех складахPOST /api/storage/: Создать новый складGET /api/storage/{id}/: Получить информацию о складе по IDPATCH /api/storage/{id}/: Обновить данные складаDELETE /api/storage/{id}/: Удалить склад
GET /api/storage-unit/: Получить список всех ячеекPOST /api/storage-unit/: Добавить новую ячейкуGET /api/storage-unit/{id}/: Получить информацию о ячейке по IDPATCH /api/storage-unit/{id}/: Обновить данные ячейкиDELETE /api/storage-unit/{id}/: Удалить ячейку
GET /api/order/: Получить список всех заказовPOST /api/order/: Добавить новый заказGET /api/order/{id}/: Получить информацию о заказе по IDPATCH /api/order/{id}/: Обновить данные заказаDELETE /api/order/{id}/: Удалить заказ
Расширенная версия AbstractUser с дополнительными полями:
- Поля:
telegram_id,telegram_name.
Представляет склад.
- Поля:
name,location,max_capacity.
Представляет ячейку, которая связана со складом.
- Связь по внешнему ключу с:
storageиз моделиStorage. - Поля:
storage,unit_number,size,is_occupied.
Представляет заказ.
- Связь по внешнему ключу с:
customerиз моделиCustomUser,storage_unitиз моделиStorageUnit,storageиз моделиStorage. - Поля:
address,phone_number,full_name,start_date,end_date,status,qr_issued,qr_code.
Панель администратора доступна по адресу /admin/ для управления всеми моделями