📘 О чем эта работа
Проект описывает создание веб‑глоссария: от структуры файлов в PyCharm и фронтенда на HTML/CSS/JS до бэкенда на FastAPI с запуском через uvicorn. Также показана интеграция gRPC (файл glossary.proto), генерация Python-кода для сервиса и вариант десктопного клиента на Tkinter.
📚 Что внутри
В работе приведены конкретные файлы и команды, необходимые для сборки и запуска приложения:
- Файлы фронтенда: index.html, styles.css, script.js — контейнеры, кнопки для CRUD операций, обработка всплывающих окон и поисковой строки.
- Бэкенд: main.py с подключением FastAPI и структурой глоссария, инструкции по запуску: uvicorn main:app --reload.
- gRPC: glossary.proto, команда генерации Python-кода: python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. glossary.proto, файлы server.py и client.py.
- Десктопный клиент: client_gui.py (Tkinter) — пример интеграции gRPC/HTTP с GUI.
- Деплой и конфигурация: deploy.yml в папке workflows, requirements.txt (генерация через pip freeze > requirements.txt), Procfile, команды Heroku: heroku login, git remote add heroku, heroku open.
- Документация: README.md с пошаговыми инструкциями по установке, запуску и деплою.
📊 Для кого подходит
Подходит студентам и начинающим разработчикам по направлению программирования и прикладной информатики для лабораторных и курсовых работ. Полезно для тех, кто изучает FastAPI, gRPC, деплой облачных приложений и простые GUI на Tkinter.
✨ Особенности
Проект дает готовый набор конфигураций и команд: примеры запуска сервера и клиента в разных терминалах, реализованные уведомления об успешном добавлении/ошибке при CRUD-операциях, реализация поиска по терминам и пример автоматической генерации зависимостей (requirements.txt).
Отдельно описаны ограничения платформ: указано, что GitHub Pages не подходит для FastAPI и предложена альтернатива — Heroku с подробной последовательностью команд и содержимым Procfile.
❓ Частые вопросы
Подойдет ли для моего ВУЗа?
Структура проекта и сопровождающие файлы (README, Procfile, deploy.yml) оформлены в практическом формате, подходящем для лабораторных и курсовых требований по программированию.
Можно адаптировать?
Да — код и конфигурации настроены модульно: можно заменить способы хранения терминов, подключить другую СУБД или адаптировать интерфейс под требования преподавателя.