mirror of
https://github.com/EDeev/yandex_lyceum.git
synced 2026-10-07 20:49:29 +03:00
README на русском и английском, скриншот
This commit is contained in:
parent
e892a11052
commit
8e0dca0207
4 changed files with 68 additions and 117 deletions
45
README.en.md
Normal file
45
README.en.md
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
# Yandex Lyceum
|
||||
|
||||
[Русский](README.md) · **English**
|
||||
|
||||
[](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
|
||||
|
||||

|
||||
|
||||
**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
140
README.md
|
|
@ -1,139 +1,45 @@
|
|||
# Yandex Lyceum Projects 🚀
|
||||
# Yandex Lyceum
|
||||
|
||||
> Коллекция веб-приложений разработанных в рамках образовательной программы Яндекс Лицея
|
||||
**Русский** · [English](README.en.md)
|
||||
|
||||
## 📋 Описание проекта
|
||||
[](https://github.com/EDeev/yandex_lyceum/actions/workflows/ci.yml)
|
||||
|
||||
Репозиторий содержит комплекс учебных проектов, демонстрирующих эволюцию навыков веб-разработки от базовых HTML-страниц до полнофункциональных Flask-приложений с интеграцией внешних API.
|
||||
Решения задач курса веб-разработки Яндекс Лицея: Flask-приложения по сюжету «Миссия колонизации Марса»
|
||||
и поиск организаций через API Яндекс.Карт.
|
||||
|
||||
## 🏗️ Архитектура решений
|
||||
**Статус:** учебный проект (Яндекс Лицей, 2022), завершён, в архиве
|
||||
|
||||
### Модули проекта:
|
||||

|
||||
|
||||
#### 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>
|
||||
|
|
|
|||
BIN
docs/screenshots/astronaut.png
Normal file
BIN
docs/screenshots/astronaut.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 74 KiB |
BIN
docs/screenshots/promotion.png
Normal file
BIN
docs/screenshots/promotion.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 346 KiB |
Loading…
Add table
Reference in a new issue