Skip to content

Nebambuk/python-gui-showcase

Repository files navigation

Python Educational Portfolio 🐍

Сборник учебных проектов на Python: от алгоритмической отрисовки графики (Turtle) до создания полноценных GUI-приложений (Tkinter) и работы с сетевыми протоколами передачи данных.

Этот репозиторий демонстрирует мой прогресс в изучении языка, понимании принципов ООП, паттернов проектирования (MVC, Dispatch Table) и создании удобных пользовательских интерфейсов.


📸 Галерея проектов

Нажмите, чтобы посмотреть скриншоты интерфейсов

Final Project: Почтовый клиент (Mailer)

Mailer Interface

Интерфейс приложения для автоматизации рассылок с поддержкой вложений и настройкой SMTP.

Mini Text Editor

Text Editor

Мини-редактор текста с поддержкой изменения шрифтов, начертания и цвета (Tkinter).

Interactive Canvas & Turtle Art

BMI

Программа собирает данные пользователя и рассчитывает индекс массы тела по росту, весу и возрасту.


🗂 Структура проекта

  • 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).

  1. Склонируйте репозиторий:
    git clone https://github.com/ВАШ_ЮЗЕРНЕЙМ/ВАШ_РЕПОЗИТОРИЙ.git
  2. Перейдите в интересующую директорию:
    cd 09_final_project_mailer
  3. Запустите нужный скрипт:
    python main.py

🔐 Настройка почты (Для модуля Mailer)

⚠️ Важное примечание по безопасности: Для работы с Gmail, Mail.ru или Yandex необходимо использовать пароль приложения, а не основной пароль от вашей почты.

  1. Включите двухфакторную аутентификацию (2FA) в настройках вашего аккаунта.
  2. Создайте "Пароль приложения" в разделе безопасности почтового сервиса.
  3. Используйте полученный 16-значный код для авторизации в программе.

About

A comprehensive collection of Python projects: from Turtle graphics and OOP fundamentals to Tkinter GUI applications and SMTP-based Mailer.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages