mirror of
https://github.com/EDeev/web-dev.git
synced 2026-10-07 20:49:38 +03:00
README на русском и английском, скриншот экзамена
Отдельный ex/README.md со ссылкой на сайт и тестовыми аккаунтами объединён с общим README.
This commit is contained in:
parent
bc087c9e7c
commit
9a23fc52e0
4 changed files with 92 additions and 70 deletions
56
README.en.md
Normal file
56
README.en.md
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
# Web Development
|
||||
|
||||
[Русский](README.md) · **English**
|
||||
|
||||
[](https://github.com/EDeev/web-dev/actions/workflows/ci.yml)
|
||||
|
||||
Labs, homework and the exam project for the "Web Development" course at Moscow Polytechnic University:
|
||||
six Flask apps, 37 Python exercises with tests, and an online library.
|
||||
|
||||
**Status:** coursework (Moscow Polytech, group 241-327, 2025/26), completed, archived ·
|
||||
labs at [web-dev.deev.space](https://web-dev.deev.space), exam at [ex-web.deev.su](https://ex-web.deev.su)
|
||||
|
||||

|
||||
|
||||
**Stack:** Python · Flask · Jinja2 · Flask-Login · Flask-SQLAlchemy · Flask-Migrate · SQLite/MySQL · Bootstrap 5 · pytest
|
||||
|
||||
| Folder | Contents |
|
||||
|---|---|
|
||||
| `labs/lab-1` | blog post template with Flask and Jinja2 |
|
||||
| `labs/lab-2` | request data: parameters, headers, cookies, forms, phone number validation |
|
||||
| `labs/lab-3` | sign-in with Flask-Login, protected pages, sessions |
|
||||
| `labs/lab-4` | user accounts CRUD: database, validation, password hashing |
|
||||
| `labs/lab-5` | roles and permissions, visit log, reports with CSV export |
|
||||
| `labs/lab-6` | education portal: course reviews, ratings, pagination, filters |
|
||||
| `hws/hw-1`, `hws/hw-2` | 37 Python exercises (algorithms, files, decorators, generators, OOP) and 241 tests |
|
||||
| `ex` | exam: book catalog with search, reviews and roles (admin, moderator, user) |
|
||||
|
||||
## Running
|
||||
|
||||
```bash
|
||||
cd labs/lab-3 && pip install -r requirements.txt
|
||||
cd app && FLASK_DEBUG=1 python app.py
|
||||
|
||||
cd ex && pip install -r requirements.txt
|
||||
python db/db_seed.py # database, roles and test users (passwords are printed)
|
||||
python run.py
|
||||
```
|
||||
|
||||
`SECRET_KEY` and `FLASK_DEBUG` come from environment variables. Homework tests:
|
||||
`cd hws/hw-1 && pytest test.py`.
|
||||
|
||||
## License
|
||||
|
||||
Coursework (Web Development, Moscow Polytechnic University, 2025/26). 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>
|
||||
106
README.md
106
README.md
|
|
@ -1,90 +1,56 @@
|
|||
# Курс Веб-разработки
|
||||
[](https://www.python.org/)
|
||||
[](https://flask.palletsprojects.com/)
|
||||
[](https://www.sqlite.org/)
|
||||
[](https://getbootstrap.com/)
|
||||
# Веб-разработка
|
||||
|
||||
Репозиторий содержит выполненные лабораторные работы и домашние задания по курсу "Веб-разработка" в Московском Политехническом университете.
|
||||
**Русский** · [English](README.en.md)
|
||||
|
||||
**Веб-сайт проекта:** [web-dev.deev.space](https://web-dev.deev.space)
|
||||
[](https://github.com/EDeev/web-dev/actions/workflows/ci.yml)
|
||||
|
||||
**Автор:** Деев Егор Викторович, группа 241-327
|
||||
Лабораторные, домашние задания и экзаменационный проект по курсу «Веб-разработка» в Московском
|
||||
Политехе: шесть Flask-приложений, 37 задач на Python с тестами и электронная библиотека.
|
||||
|
||||
## Структура репозитория
|
||||
**Статус:** учебный проект (Московский Политех, группа 241-327, 2025/26), завершён, в архиве ·
|
||||
лабораторные — [web-dev.deev.space](https://web-dev.deev.space), экзамен — [ex-web.deev.su](https://ex-web.deev.su)
|
||||
|
||||
### Лабораторные работы
|
||||

|
||||
|
||||
#### [Лабораторная работа №1](https://web-dev.deev.space/lab1)
|
||||
Создание шаблона для отображения записи блога с использованием Flask и Jinja2. Реализация базовой структуры приложения, шаблонов для отображения постов и комментариев.
|
||||
**Стек:** Python · Flask · Jinja2 · Flask-Login · Flask-SQLAlchemy · Flask-Migrate · SQLite/MySQL · Bootstrap 5 · pytest
|
||||
|
||||
**Стек:** Flask, Jinja2, Bootstrap 5
|
||||
| Папка | Что внутри |
|
||||
|---|---|
|
||||
| `labs/lab-1` | шаблон записи блога на Flask и Jinja2 |
|
||||
| `labs/lab-2` | данные запроса: параметры, заголовки, cookies, формы, проверка телефона |
|
||||
| `labs/lab-3` | вход через Flask-Login, защищённые страницы, сессии |
|
||||
| `labs/lab-4` | CRUD учётных записей: база, валидация, хеширование паролей |
|
||||
| `labs/lab-5` | роли и права, журнал посещений, отчёты с экспортом в CSV |
|
||||
| `labs/lab-6` | образовательный портал: отзывы к курсам, рейтинг, пагинация, фильтры |
|
||||
| `hws/hw-1`, `hws/hw-2` | 37 задач на Python (алгоритмы, файлы, декораторы, генераторы, ООП) и 241 тест |
|
||||
| `ex` | экзамен: каталог книг с поиском, рецензиями и ролями (администратор, модератор, пользователь) |
|
||||
|
||||
#### [Лабораторная работа №2](https://web-dev.deev.space/lab2)
|
||||
Работа с данными запроса. Реализация обработки параметров URL, заголовков, cookies и форм. Валидация номера телефона на стороне сервера.
|
||||
## Запуск
|
||||
|
||||
**Стек:** Flask, регулярные выражения
|
||||
```bash
|
||||
cd labs/lab-3 && pip install -r requirements.txt
|
||||
cd app && FLASK_DEBUG=1 python app.py
|
||||
|
||||
#### [Лабораторная работа №3](https://web-dev.deev.space/lab3)
|
||||
Реализация аутентификации пользователей с использованием Flask-Login. Создание системы входа, защищенных страниц и управления сессиями.
|
||||
cd ex && pip install -r requirements.txt
|
||||
python db/db_seed.py # база, роли и тестовые пользователи (пароли выводятся в консоль)
|
||||
python run.py
|
||||
```
|
||||
|
||||
**Стек:** Flask, Flask-Login, session management
|
||||
`SECRET_KEY` и `FLASK_DEBUG` задаются переменными окружения. Тесты домашних заданий:
|
||||
`cd hws/hw-1 && pytest test.py`.
|
||||
|
||||
#### [Лабораторная работа №4](https://web-dev.deev.space/lab4)
|
||||
Разработка CRUD-приложения для управления учетными записями пользователей. Работа с базой данных, валидация данных, хеширование паролей.
|
||||
## Лицензия
|
||||
|
||||
**Стек:** Flask, Flask-SQLAlchemy, MySQL, bcrypt
|
||||
Учебный проект (Веб-разработка, Московский Политех, 2025/26). Код открыт для изучения, отдельной
|
||||
лицензии нет.
|
||||
|
||||
#### [Лабораторная работа №5](https://web-dev.deev.space/lab5)
|
||||
Авторизация пользователей и формирование статистических отчетов. Реализация системы ролей, декораторов проверки прав, журнала посещений и экспорта в CSV.
|
||||
## Автор
|
||||
|
||||
**Стек:** Flask, Flask-Login, Blueprints, CSV export
|
||||
|
||||
#### [Лабораторная работа №6](https://web-dev.deev.space/lab6)
|
||||
Доработка образовательного портала: добавление системы отзывов к курсам, рейтинговой системы, пагинации и фильтрации.
|
||||
|
||||
**Стек:** Flask, Flask-SQLAlchemy, Flask-Migrate, MySQL
|
||||
|
||||
### Домашние задания
|
||||
|
||||
#### [Домашнее задание №1](https://github.com/EDeev/web-dev/tree/main/hws/hw-1)
|
||||
Решение 20 задач на Python: базовые алгоритмы, работа с файлами, регулярные выражения, структуры данных. Покрытие тестами с использованием pytest (60+ тестов).
|
||||
|
||||
**Темы:** базовый синтаксис Python, работа с файлами, алгоритмы, структуры данных
|
||||
|
||||
#### [Домашнее задание №2](https://github.com/EDeev/web-dev/tree/main/hws/hw-2)
|
||||
Решение 17 задач на Python: функции, декораторы, генераторы, ООП, работа с файловой системой. Покрытие тестами с использованием pytest (60+ тестов).
|
||||
|
||||
**Темы:** функции, декораторы, генераторы, ООП, аргументы командной строки, работа с файлами
|
||||
|
||||
## План развития
|
||||
|
||||
- Развертывание всех лабораторных работ на хостинге
|
||||
- Добавление CI/CD pipeline для автоматического тестирования
|
||||
- Документирование API endpoints
|
||||
- Рефакторинг кода с применением паттернов проектирования
|
||||
- Добавление Docker-контейнеризации для упрощения развертывания
|
||||
|
||||
## Технологический стек
|
||||
|
||||
- **Backend:** Python, Flask, Flask-Login, Flask-SQLAlchemy, Flask-Migrate
|
||||
- **Frontend:** HTML5, CSS3, Bootstrap 5, Jinja2
|
||||
- **База данных:** MySQL, SQLite
|
||||
- **Тестирование:** pytest
|
||||
- **Деплой:** NGINX, Unit
|
||||
|
||||
## Контакты
|
||||
|
||||
- Email: egor@deev.space
|
||||
- Telegram: @Egor_Deev
|
||||
- GitHub: @EDeev
|
||||
|
||||
## Лицензия и использование
|
||||
|
||||
Данный репозиторий создан в образовательных целях. Код доступен для изучения и адаптации без указания авторства.
|
||||
**Деев Егор Викторович** — [GitHub](https://github.com/EDeev) · [Telegram](https://t.me/DeevEgor) · [egor@deev.space](mailto:egor@deev.space)
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
<sub>⭐ Если проект оказался полезным, поставьте звездочку на GitHub!</sub>
|
||||
<p><sub>Создано с ❤️ от вашего дорогого - <a href="https://deev.space">deev.space</a> ©</sub></p>
|
||||
<sub>⭐ Если проект оказался полезным, поставьте звёздочку на GitHub!</sub>
|
||||
<p><sub>Сделано с ❤️ — <a href="https://deev.space">deev.space</a></sub></p>
|
||||
</div>
|
||||
|
|
|
|||
BIN
docs/screenshots/exam.png
Normal file
BIN
docs/screenshots/exam.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 127 KiB |
BIN
docs/screenshots/labs.png
Normal file
BIN
docs/screenshots/labs.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 180 KiB |
Loading…
Add table
Reference in a new issue