Let's Recycle! — это оконное приложение, предоставляющее информацию о переработке отходов, включая данные о пунктах переработки в Приморском крае. Кроме того, пользователи могут вызвать эко-такси на дом. Проект разработан с использованием Python, SQLite3 и PyQt6. Его цель — повысить осведомленность о защите окружающей среды и облегчить процесс переработки для местного сообщества.
- Откройте терминал и склонируйте репозиторий:
git clone https://github.com/t-anastasiia/Lets-recycle.git
- Перейдите в папку со скопированным репозиторием:
cd Lets-recycle/app
- Запустите приложение:
python main.py
Проект следует архитектуре MVVM (Model-View-ViewModel) и старается придерживаться принципов SOLID, KISS и DRY.
- Single Responsibility Principle (Принцип единственной ответственности): Каждый класс в проекте отвечает за свою отдельную функциональность.
- Open/Closed Principle (Принцип открытости/закрытости): Система спроектирована так, чтобы новые функциональности можно было добавлять без изменения существующего кода.
- Liskov Substitution Principle (Принцип подстановки Барбары Лисков): Наследующие классы могут замещать базовые классы без изменения их поведения.
- Interface Segregation Principle (Принцип разделения интерфейса): Применяются узкие интерфейсы, специфичные для клиентов.
- Dependency Inversion Principle (Принцип инверсии зависимостей): Модули верхнего уровня не зависят от модулей нижнего уровня, оба зависят от абстракций.
Простота реализации кода (Keep It Simple, Stupid) обеспечивает его легкость для понимания и поддержки.
Принцип "Don't Repeat Yourself" применяется, чтобы избежать дублирования кода и улучшить его поддерживаемость.
- Model: Управляет данными и бизнес-логикой.
- View: Определяет структуру и внешний вид пользовательского интерфейса.
- ViewModel: Посредник между Model и View, управляет состоянием View и обработкой событий.
Проект был спроектирован с учетом бизнес-логики для управления запросами на утилизацию отходов.
Проект использует SQLite для хранения данных. Взаимодействие с базой данных осуществляется с помощью стандартных библиотек Python для выполнения CRUD операций.
Регистрация | Вход |
Админ | Пользователь |
Админ | Пользователь |
Админ | Пользователь |
Админ | Пользователь |