1
0
Fork 0
mirror of https://github.com/EDeev/yandex_lyceum.git synced 2026-10-07 20:49:29 +03:00

README на русском и английском, скриншот

This commit is contained in:
Деев Егор Викторович 2026-10-02 21:18:33 +00:00
parent e892a11052
commit 8e0dca0207
4 changed files with 68 additions and 117 deletions

45
README.en.md Normal file
View file

@ -0,0 +1,45 @@
# Yandex Lyceum
[Русский](README.md) · **English**
[![CI](https://github.com/EDeev/yandex_lyceum/actions/workflows/ci.yml/badge.svg)](https://github.com/EDeev/yandex_lyceum/actions/workflows/ci.yml)
Solutions to the Yandex Lyceum web development course: Flask apps built around the "Mars colonization
mission" storyline, plus organization search via the Yandex Maps API.
**Status:** coursework (Yandex Lyceum, 2022), completed, archived
![Mission applicant form](docs/screenshots/astronaut.png)
**Stack:** Python · Flask · Jinja2 · Flask-WTF · Bootstrap · Yandex Maps API · Pillow
| Folder | Contents |
|---|---|
| `01-flask-html` | Flask and Jinja2 pages: mission promo page, applicant form, planet choice, selection results, photo upload |
| `02-flask-wtf-forms` | Flask-WTF forms: sign-in, training by profession, list of professions, form auto-answer, cabin assignment |
| `03-yandex-maps-search` | finding the nearest organization via the Yandex organization search API and showing a map |
## Running
```bash
pip install -r requirements.txt
cd 01-flask-html && python server.py # http://127.0.0.1:8080
YANDEX_API_KEY=your_key python 03-yandex-maps-search/main.py
```
`03-yandex-maps-search` needs a Yandex organization search API key in `YANDEX_API_KEY`.
## License
Coursework (Yandex Lyceum, 2021/22). The code is open for study; there is no separate license.
## Author
**Egor Deev** — [GitHub](https://github.com/EDeev) · [Telegram](https://t.me/DeevEgor) · [egor@deev.space](mailto:egor@deev.space)
---
<div align="center">
<sub>⭐ If you find this project useful, give it a star on GitHub!</sub>
<p><sub>Made with ❤️ — <a href="https://deev.space">deev.space</a></sub></p>
</div>

140
README.md
View file

@ -1,139 +1,45 @@
# Yandex Lyceum Projects 🚀
# Yandex Lyceum
> Коллекция веб-приложений разработанных в рамках образовательной программы Яндекс Лицея
**Русский** · [English](README.en.md)
## 📋 Описание проекта
[![CI](https://github.com/EDeev/yandex_lyceum/actions/workflows/ci.yml/badge.svg)](https://github.com/EDeev/yandex_lyceum/actions/workflows/ci.yml)
Репозиторий содержит комплекс учебных проектов, демонстрирующих эволюцию навыков веб-разработки от базовых HTML-страниц до полнофункциональных Flask-приложений с интеграцией внешних API.
Решения задач курса веб-разработки Яндекс Лицея: Flask-приложения по сюжету «Миссия колонизации Марса»
и поиск организаций через API Яндекс.Карт.
## 🏗️ Архитектура решений
**Статус:** учебный проект (Яндекс Лицей, 2022), завершён, в архиве
### Модули проекта:
![Анкета претендента на участие в миссии](docs/screenshots/astronaut.png)
#### 1. **WEB.HTML** - Базовая веб-разработка
- Статические HTML-страницы с CSS-стилизацией
- Обработка форм и файловых загрузок
- Маршрутизация и шаблонизация
**Стек:** Python · Flask · Jinja2 · Flask-WTF · Bootstrap · API Яндекс.Карт · Pillow
#### 2. **WEB.HTML 2** - Продвинутая веб-архитектура
- Flask-приложение с расширенной функциональностью
- Интеграция Bootstrap для адаптивного дизайна
- Система аутентификации и авторизации
| Папка | Что внутри |
|---|---|
| `01-flask-html` | страницы на Flask и Jinja2: рекламная страница миссии, анкета претендента, выбор планеты, результаты отбора, загрузка фото |
| `02-flask-wtf-forms` | формы на Flask-WTF: вход, тренажёры по профессиям, список профессий, автоответ анкеты, распределение по каютам |
| `03-yandex-maps-search` | поиск ближайшей организации через API поиска по организациям и показ карты |
#### 3. **WEB.HTML flask-wtf** - Профессиональные веб-формы
- Валидация пользовательского ввода
- CSRF-защита
- Обработка сложных форм с множественными полями
## Запуск
#### 4. **Полный поиск** - Геоинформационные сервисы
- Интеграция с Yandex Maps API
- Алгоритмы геопозиционирования
- Динамическое построение карт
## 🛠️ Технологический стек
```
Backend: Flask 2.0+, Python 3.8+
Frontend: HTML5, CSS3, Bootstrap 5.1.3
Forms: Flask-WTF, WTForms
APIs: Yandex Maps Search API
Libraries: Pillow, Requests, Jinja2
```
## 🚀 Быстрый старт
### Установка зависимостей
```bash
pip install -r requirements.txt
cd 01-flask-html && python server.py # http://127.0.0.1:8080
YANDEX_API_KEY=ваш_ключ python 03-yandex-maps-search/main.py
```
### Запуск приложений
```bash
# Базовое HTML-приложение
cd "WEB.HTML"
python server.py
Для `03-yandex-maps-search` нужен ключ API поиска по организациям Яндекса в переменной `YANDEX_API_KEY`.
# Flask-приложение с шаблонами
cd "WEB.HTML 2"
python server.py
## Лицензия
# Приложение с формами
cd "WEB.HTML flask-wtf"
python server.py
```
Учебный проект (Яндекс Лицей, 2021/22). Код открыт для изучения, отдельной лицензии нет.
### Конфигурация API
Для работы геосервисов необходимо настроить API-ключ в `main.py`:
```python
api_key = "your_yandex_api_key_here"
```
## Автор
## 📁 Структура проекта
```
yandex_lyceum/
├── WEB.HTML/ # Базовые веб-технологии
│ ├── server.py # Flask-сервер
│ ├── static/ # Статические ресурсы
│ └── templates/ # HTML-шаблоны
├── WEB.HTML 2/ # Расширенная веб-архитектура
│ ├── server.py
│ ├── loginform.py # Формы авторизации
│ └── templates/
├── WEB.HTML flask-wtf/ # Профессиональные формы
└── Полный поиск/ # Геоинформационные сервисы
├── main.py # Основная логика
└── delta.py # Вспомогательные алгоритмы
```
## 🎯 Функциональные возможности
### Веб-интерфейсы:
- **Космическая тематика:** Интерактивные страницы миссии колонизации Марса
- **Система профессий:** Каталогизация и фильтрация специальностей
- **Анкетирование:** Комплексные формы с валидацией данных
- **Аутентификация:** Многоуровневая система доступа
### Геосервисы:
- **Поиск объектов:** Интеграция с Yandex Search API
- **Картографирование:** Динамическое построение карт
- **Геопозиционирование:** Алгоритмы расчета координат
## 🔧 Конфигурация
### Переменные окружения:
```bash
FLASK_ENV=development
SECRET_KEY=yandexlyceum_secret_key
YANDEX_API_KEY=your_api_key
```
### Порты по умолчанию:
- **Flask-приложения:** `127.0.0.1:8080`
- **Статические файлы:** автоматическая маршрутизация
## 🏆 Образовательные цели
Проект демонстрирует прогрессивное освоение:
- Фундаментальных веб-технологий
- Серверной архитектуры Flask
- Интеграции внешних API
- Профессиональных практик разработки
## 📄 Лицензия
Образовательный проект в рамках программы Яндекс Лицея
## 👨‍💻 Автор
**Деев Егор Викторович** - Backend Developer
- GitHub: [@EDeev](https://github.com/EDeev)
- Email: egor@deev.space
- Telegram: [@Egor_Deev](https://t.me/Egor_Deev)
**Деев Егор Викторович** — [GitHub](https://github.com/EDeev) · [Telegram](https://t.me/DeevEgor) · [egor@deev.space](mailto:egor@deev.space)
---
<div align="center">
<sub>Разработано в рамках образовательной программы Яндекс Лицея для демонстрации навыков полного цикла веб-разработки</sub>
<p><sub>Создано с ❤️ от вашего дорогого - deev.space ©</sub></p>
<sub>⭐ Если проект оказался полезным, поставьте звёздочку на GitHub!</sub>
<p><sub>Сделано с ❤️ — <a href="https://deev.space">deev.space</a></sub></p>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 KiB