# Yandex Lyceum Projects 🚀

> Коллекция веб-приложений разработанных в рамках образовательной программы Яндекс Лицея

## 📋 Описание проекта

Репозиторий содержит комплекс учебных проектов, демонстрирующих эволюцию навыков веб-разработки от базовых HTML-страниц до полнофункциональных Flask-приложений с интеграцией внешних API.

## 🏗️ Архитектура решений

### Модули проекта:

#### 1. **WEB.HTML** - Базовая веб-разработка
- Статические HTML-страницы с CSS-стилизацией
- Обработка форм и файловых загрузок
- Маршрутизация и шаблонизация

#### 2. **WEB.HTML 2** - Продвинутая веб-архитектура
- Flask-приложение с расширенной функциональностью
- Интеграция Bootstrap для адаптивного дизайна
- Система аутентификации и авторизации

#### 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
```

### Запуск приложений
```bash
# Базовое HTML-приложение
cd "WEB.HTML"
python server.py

# Flask-приложение с шаблонами
cd "WEB.HTML 2"
python server.py

# Приложение с формами
cd "WEB.HTML flask-wtf"
python server.py
```

### Конфигурация 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)

---

<div align="center">
  <sub>Разработано в рамках образовательной программы Яндекс Лицея для демонстрации навыков полного цикла веб-разработки</sub>
  <p><sub>Создано с ❤️ от вашего дорогого - deev.space ©</sub></p>
</div>
