Сборник учебных проектов на Python: от алгоритмической отрисовки графики (Turtle) до создания полноценных GUI-приложений (Tkinter) и работы с сетевыми протоколами передачи данных.
Этот репозиторий демонстрирует мой прогресс в изучении языка, понимании принципов ООП, паттернов проектирования (MVC, Dispatch Table) и создании удобных пользовательских интерфейсов.
Нажмите, чтобы посмотреть скриншоты интерфейсов
Интерфейс приложения для автоматизации рассылок с поддержкой вложений и настройкой SMTP.
Мини-редактор текста с поддержкой изменения шрифтов, начертания и цвета (Tkinter).
Программа собирает данные пользователя и рассчитывает индекс массы тела по росту, весу и возрасту.
01-02_turtle_basics: Геометрические алгоритмы, математика и основы компьютерной графики (создание фракталов, спиралей, паттерны отрисовки).03_oop_console: Принципы объектно-ориентированного программирования. Инкапсуляция, наследование и полиморфизм на примере консольных симуляторов.04-06_tkinter_widgets: Разработка графических интерфейсов. Работа с базовыми виджетами, формами ввода, валидацией данных и Layout-менеджерами.07-08_tkinter_apps: Продвинутый Tkinter. Работа с Canvas, обработка событий мыши/клавиатуры, динамическая анимация и создание комплексных программ (текстовый редактор).09_final_project_mailer: Многомодульное приложение для Email-рассылок. Разделение логики по MVC, работа с JSON-конфигами и библиотекойsmtplib.
- Язык: Python 3.10+
- GUI:
tkinter,turtle - Сеть:
smtplib,email.mime - Хранение данных:
json,pickle - Архитектура: ООП, MVC-паттерн
Проекты не требуют установки сторонних зависимостей (используется только стандартная библиотека Python).
- Склонируйте репозиторий:
git clone https://github.com/ВАШ_ЮЗЕРНЕЙМ/ВАШ_РЕПОЗИТОРИЙ.git
- Перейдите в интересующую директорию:
cd 09_final_project_mailer - Запустите нужный скрипт:
python main.py
⚠️ Важное примечание по безопасности: Для работы с Gmail, Mail.ru или Yandex необходимо использовать пароль приложения, а не основной пароль от вашей почты.
- Включите двухфакторную аутентификацию (2FA) в настройках вашего аккаунта.
- Создайте "Пароль приложения" в разделе безопасности почтового сервиса.
- Используйте полученный 16-значный код для авторизации в программе.


