Skip to content

Оконное приложение, в котором вы можете узнать про переработку, а также о пунктах переработки в Приморском крае. Более того, можете вызвать на дом эко-такси

Notifications You must be signed in to change notification settings

t-anastasiia/Lets-recycle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 

Repository files navigation

Recycling Animation

Let's Recycle App

Let's Recycle! — это оконное приложение, предоставляющее информацию о переработке отходов, включая данные о пунктах переработки в Приморском крае. Кроме того, пользователи могут вызвать эко-такси на дом. Проект разработан с использованием Python, SQLite3 и PyQt6. Его цель — повысить осведомленность о защите окружающей среды и облегчить процесс переработки для местного сообщества.

Установка и локальный запуск

  1. Откройте терминал и склонируйте репозиторий:
    git clone https://github.com/t-anastasiia/Lets-recycle.git
  2. Перейдите в папку со скопированным репозиторием:
    cd Lets-recycle/app
  3. Запустите приложение:
    python main.py

Архитектура и используемые паттерны

Проект следует архитектуре MVVM (Model-View-ViewModel) и старается придерживаться принципов SOLID, KISS и DRY.

Принципы SOLID

  • Single Responsibility Principle (Принцип единственной ответственности): Каждый класс в проекте отвечает за свою отдельную функциональность.
  • Open/Closed Principle (Принцип открытости/закрытости): Система спроектирована так, чтобы новые функциональности можно было добавлять без изменения существующего кода.
  • Liskov Substitution Principle (Принцип подстановки Барбары Лисков): Наследующие классы могут замещать базовые классы без изменения их поведения.
  • Interface Segregation Principle (Принцип разделения интерфейса): Применяются узкие интерфейсы, специфичные для клиентов.
  • Dependency Inversion Principle (Принцип инверсии зависимостей): Модули верхнего уровня не зависят от модулей нижнего уровня, оба зависят от абстракций.

Принцип KISS

Простота реализации кода (Keep It Simple, Stupid) обеспечивает его легкость для понимания и поддержки.

Принцип DRY

Принцип "Don't Repeat Yourself" применяется, чтобы избежать дублирования кода и улучшить его поддерживаемость.

Архитектура MVVM

  • Model: Управляет данными и бизнес-логикой.
  • View: Определяет структуру и внешний вид пользовательского интерфейса.
  • ViewModel: Посредник между Model и View, управляет состоянием View и обработкой событий.

Проект был спроектирован с учетом бизнес-логики для управления запросами на утилизацию отходов.

Работа с базами данных

Проект использует SQLite для хранения данных. Взаимодействие с базой данных осуществляется с помощью стандартных библиотек Python для выполнения CRUD операций.

Database Schema

Скриншоты

Регистрация и вход

Регистрация Вход
SignUp Window Login Window

Главное меню

Админ Пользователь
Admin Main Menu User Main Menu

Карта пунктов переработки

Админ Пользователь
Admin Recycling Points Map User Recycling Points Map

Вызов эко-такси

Админ Пользователь
Admin Eco-Taxi Request User Eco-Taxi Request

Информация о переработке

Админ Пользователь
Admin Recycling Information User Recycling Information

About

Оконное приложение, в котором вы можете узнать про переработку, а также о пунктах переработки в Приморском крае. Более того, можете вызвать на дом эко-такси

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published