📘 О чем эта работа
Проект посвящён проектированию и реализации информационной системы автопроката ONRENTCAR: объект — автопарк и процессы аренды, предмет — автоматизация бронирования, оплаты и учёта. В работе подробно описаны концептуальная ER‑модель, логическое и физическое проектирование базы данных и пример реализации серверной части на Flask с использованием SQLite и SQLAlchemy.
📚 Что внутри
Внутри вы найдёте конкретные артефакты и инструкции, готовые к использованию:
- ER‑модель и перечень сущностей: Car, Customer, Booking, Employee, Payment с перечислением ключевых атрибутов (CarID, RegistrationNumber, CustomerID, BookingID и т.д.).
- Логическая и физическая структуры БД: SQL‑скрипты для создания таблиц и индексов (пример CREATE TABLE для Car, Customer, Booking, Payment и UNIQUE/INDEX для Email и RegistrationNumber).
- Пример реализации БД в SQLite: готовые скрипты CREATE TABLE IF NOT EXISTS и рекомендации по индексированию и резервному копированию.
- Реализация серверной части: код Flask с endpoint'ами '/api/cars' (GET/POST), '/analytics/popular_cars' и '/report/revenue', пример подключения к SQLite через sqlite3 и использование SQLAlchemy в requirements (Flask==2.0.2, SQLALchemy==1.4.25).
- Инструкции по окружению: установка Python3 и pip, установка Docker, создание Dockerfile, команды сборки и запуска образа, запуск контейнера с пробросом порта 5000.
- Пользовательский интерфейс: примеры HTML‑шаблонов для создания бронирования (index.html, форма /add_booking) и описание маршрутов Flask для обработки форм и редиректов.
- Модули аналитики и отчётности: SQL‑запросы для подсчёта популярных машин и суммарной выручки, примеры API ответов в формате JSON.
- Техническое задание и требования: неполный, но детальный ТЗ с функциональными и временными требованиями, требования к оборудованию и надёжности (backup, RTO), пример показателей производительности.
📊 Для кого подходит
Подходит студентам 3–4 курса профильных направлений (Прикладная информатика, Информационные системы, Программная инженерия) для сдачи курсовой работы, преподавателям для проверки практической части и small IT‑командам как базовый шаблон для MVP сервиса проката автомобилей.
✨ Особенности
Готовые практические артефакты: ER‑модель, SQL‑скрипты для SQLite/MySQL/PostgreSQL, Dockerfile, примеры Flask‑маршрутов и HTML‑шаблонов. Включены проверки валидации, примеры функций управления автопарком (добавление авто, смена статуса), регистрации/логина клиентов и администраторов, обработка возврата и отчётность по оплатам.
Технологии: Flask, SQLite (локальная БД), SQLAlchemy, Docker, bash‑инструкции для Ubuntu. В тексте содержатся конкретные команды установки и примеры конфигурации Docker и sqlite3.
Практическая выгода: можно быстро развернуть демонстрационный сервис, адаптировать схемы БД под масштабирование, заменить SQLite на PostgreSQL/MySQL по инструкции и использовать готовые API для интеграции с фронтендом.
❓ Частые вопросы
Подойдет ли для моего ВУЗа?
Структура работы соответствует требованиям курсовой: есть введение, теоретическая и практическая части, ТЗ, список литературы и приложения с кодом и SQL‑скриптами.
Можно адаптировать?
Да. Архитектура модульна: достаточно заменить СУБД и настроить Docker‑образ для развертывания на удалённом сервере.