Данный репозиторий представляет собой два проекта:
- Мобильное приложение автосалона, написанное с помощью фреймворка Flutter на языке Dart
- Серверное приложение автосалона, написанное с помощью фреймворка Flask на языке Python
На данный момент взаимодействие клиентской и серверной части не реализовано. Работа над данным проектом не закончена.
Данное мобильное приложение написано на Flutter 1.17.5. Описание файлов и пример интерфейса находится ниже:
│ carshowroom.iml --глобальные настройки для данного Flutter приложения
│ pubspec.yaml --файл содержащий настройки для Flutter проекта
│
├───assets --папка содержащая изображения необходимые для работы приложения
│ amg_gt_63s.png --изображение автомобиля AMG GT 63s
│ audi-a7.png --изображение автомобиля Audi A7
│ audi-q8.png --изображение автомобиля Audi Q8
│ bmw-i8.png --изображение автомобиля BMW i8
│ empty.jpg --изображение для профиля, который не указал свою фотографию
│
└───lib --папка с библиотекой файлов
│ main.dart --главный файл приложение (содержит точку входа)
│
├───Models --папка с моделями приложения
│ car_about_model.dart --класс описывающий модель автомобиля
│ car_card_model.dart --класс описывающий элемент интерфейса (карточки) автомобиля
│ car_rent_card_model.dart --класс описывающий модель взятия аренды автомобиля
│ score_client_model.dart --класс описывающий модель единицы аренды
│
└───Views --папка с окнами приложения
│ carpreviewcard.dart --описывает элемент истории аренды
│ hellopage.dart --описывает окно авторизации
│ registerpage.dart --описывает окно регистрации
│ scoreviewcard.dart --описывает окно счетов оплаты
│
├───Administrator --папка с окнами принадлежащих администратору
├───Client --папка с окнами принадлежищах клиенту
│ carlistpage.dart --описывает окно с доступными автомобилями
│ car_rent_card.dart --описывает элемент доступного автомобиля
│ clientpage.dart --описывает окна приложения для клиента
│ menupage.dart --описывает главное меню приложения для клиента
│ rent_car_about_page.dart --описывает подробную характеристики автомобиля
│ scorepage.dart --описывает окно историй заказов в данном приложении
│ settings.dart --описывает окно настроек для клиента
│
└───Moderator --папка с окнами принадлежащих модератору
Серверная часть приложения написана на языке Python 3.8 с использованием фреймворка Flask. Для успешного запуска приложения необходимо создать окружение и в нем загрузить необходимые библиотеки, которые указаны в файле Backend/requirements.txt. В данном проекте используется база данных PostgreSQL для хранения информации о машинах, клиентах и др. Для удобного создания таблиц в базе данных в данном репозитории имеется файл Backend/database.sql, который необходимо выполнить для создания отношений между таблицами в базе данных. После создания отношений необходимо внести информацию в файл Backend/config.py, это необходимо для правильной работы приложения.
app.py --главный файл приложения, содержит основную логику и точку входа
database.sql --файл для создания базы данных
config.py --файл с конфигурацией, необходим для указания базы данных и ключа доступа
models.py --файл содержащий вспомогательные функции и модели для функционирования приложения
requirements.txt --файл содержащий список пакетов в проекте
Инфологическая модель базы данных
Физическая модель базы данных
Окно авторизации пользователя
Окно регистрации нового пользователя
Главное окно пользователя
Список автомобилей доступных для аренды
Окно аренды автомобиля
Окно истории счета пользователя
Окно настройки пользователя