94 lines
16 KiB
XML
94 lines
16 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<indexing>
|
||
<object alt="" name="Image1" object_type="graphic"/>
|
||
<object alt="" name="Image2" object_type="graphic"/>
|
||
<object alt="" name="Image3" object_type="graphic"/>
|
||
<object alt="" name="Image4" object_type="graphic"/>
|
||
<paragraph index="21" node_type="writer">Отчёт по проекту FitnessCenter</paragraph>
|
||
<paragraph index="22" node_type="writer">Подготовлено на основе технической документации проекта, работающего локального экземпляра сайта и шаблона оформления example.docx.</paragraph>
|
||
<paragraph index="23" node_type="writer">Город: Ростов-на-Дону
|
||
Дата подготовки отчёта: 16.03.2026</paragraph>
|
||
<paragraph index="24" node_type="writer">Введение</paragraph>
|
||
<paragraph index="25" node_type="writer">Проект FitnessCenter представляет собой веб-приложение фитнес-клуба с лендингом, регистрацией пользователей, авторизацией, личным кабинетом и оформлением абонементов. Система ориентирована на быстрый запуск в учебной или демонстрационной среде и построена по модели серверного рендеринга HTML без отдельного JSON API.</paragraph>
|
||
<paragraph index="26" node_type="writer">Целью работы команды было создание понятного и визуально цельного сайта, который одновременно решает маркетинговую задачу лендинга и прикладную задачу оформления абонементов через личный кабинет.</paragraph>
|
||
<paragraph index="27" node_type="writer">Краткое описание системы</paragraph>
|
||
<paragraph index="28" node_type="writer">В ходе анализа технической документации и интерфейса были выделены следующие ключевые возможности проекта:</paragraph>
|
||
<paragraph index="29" node_type="writer">главная страница с презентацией клуба, тарифов, тренеров и филиалов;</paragraph>
|
||
<paragraph index="30" node_type="writer">регистрация нового пользователя с проверкой телефона в формате +7XXXXXXXXXX;</paragraph>
|
||
<paragraph index="31" node_type="writer">вход в систему через форму авторизации;</paragraph>
|
||
<paragraph index="32" node_type="writer">личный кабинет с отображением активного абонемента и истории покупок;</paragraph>
|
||
<paragraph index="33" node_type="writer">оформление нового абонемента из личного кабинета;</paragraph>
|
||
<paragraph index="34" node_type="writer">административное управление данными через стандартную Django-админку;</paragraph>
|
||
<paragraph index="35" node_type="writer">запуск в Docker-контуре с публикацией сервиса на порту 1337.</paragraph>
|
||
<paragraph index="36" node_type="writer">Технологический стек и архитектура</paragraph>
|
||
<paragraph index="37" node_type="writer">По технической документации проект реализован на следующем стеке:</paragraph>
|
||
<paragraph index="38" node_type="writer">backend: Python 3.13, Django 5.1.4;</paragraph>
|
||
<paragraph index="39" node_type="writer">frontend: Bootstrap 5.3, кастомные стили в static/css/main.css, шрифт Manrope;</paragraph>
|
||
<paragraph index="40" node_type="writer">база данных по умолчанию: SQLite, с возможностью переноса на PostgreSQL;</paragraph>
|
||
<paragraph index="41" node_type="writer">инфраструктура: Dockerfile, docker-compose.yml, entrypoint.sh;</paragraph>
|
||
<paragraph index="42" node_type="writer">архитектурный подход: серверный рендеринг HTML-страниц без выделенного REST API.</paragraph>
|
||
<paragraph index="43" node_type="writer">Ключевые структурные элементы проекта:</paragraph>
|
||
<paragraph index="44" node_type="writer">gymclub/ содержит настройки Django и верхнеуровневую маршрутизацию;</paragraph>
|
||
<paragraph index="45" node_type="writer">club/ реализует модели, формы, views и бизнес-логику абонементов;</paragraph>
|
||
<paragraph index="46" node_type="writer">templates/ содержит шаблоны страниц home, register, login, dashboard;</paragraph>
|
||
<paragraph index="47" node_type="writer">static/ и staticfiles/ отвечают за визуальную часть проекта;</paragraph>
|
||
<paragraph index="48" node_type="writer">маршруты регистрации, входа, выхода и покупки абонементов сосредоточены в club/urls.py.</paragraph>
|
||
<paragraph index="49" node_type="writer">Реализованный функционал</paragraph>
|
||
<paragraph index="50" node_type="writer">В итоговой версии системы реализованы следующие пользовательские сценарии:</paragraph>
|
||
<paragraph index="51" node_type="writer">1. Лендинг фитнес-клуба</paragraph>
|
||
<paragraph index="52" node_type="writer">Главная страница знакомит пользователя с клубом, доступными тарифами, тренерами и адресами филиалов. Интерфейс выполнен в тёмной цветовой схеме с акцентным зелёным цветом, что делает сайт визуально единым и современным.</paragraph>
|
||
<paragraph index="53" node_type="writer">2. Регистрация и авторизация</paragraph>
|
||
<paragraph index="54" node_type="writer">Пользователь может создать аккаунт, указав логин, имя, фамилию, телефон, email и пароль. После регистрации доступны вход в систему и переход в личный кабинет. Для телефона реализована нормализация и валидация, что снижает количество некорректных записей.</paragraph>
|
||
<paragraph index="55" node_type="writer">3. Личный кабинет и покупка абонементов</paragraph>
|
||
<paragraph index="56" node_type="writer">После авторизации пользователь видит активный абонемент, историю покупок и перечень доступных тарифов. Покупка выполняется через серверный сценарий, который рассчитывает дату окончания абонемента автоматически.</paragraph>
|
||
<paragraph index="57" node_type="writer">4. Эксплуатационная готовность</paragraph>
|
||
<paragraph index="58" node_type="writer">Проект запускается в контейнере Docker, а настройки окружения вынесены в переменные. Это упрощает перенос между стендами и делает демонстрацию предсказуемой.</paragraph>
|
||
<paragraph index="59" node_type="writer">Команда проекта и распределение работ</paragraph>
|
||
<paragraph index="60" node_type="writer">Оценка трудозатрат ниже является проектной и отражает предполагаемый вклад участников на протяжении основного этапа разработки с 10.02.2026 по 14.03.2026.</paragraph>
|
||
<paragraph index="61" node_type="writer">Комин Архип
|
||
Роль: тимлид, инфраструктура, DevOps и backend.
|
||
Оценка занятости: 64 часа.
|
||
Основные задачи: постановка архитектуры проекта, подготовка Docker-контура, настройка переменных окружения, организация структуры Django-приложения, реализация моделей MembershipPlan, Profile, Subscription, настройка маршрутов и контроль интеграции backend-части с шаблонами.</paragraph>
|
||
<paragraph index="62" node_type="writer">Токмачев Егор
|
||
Роль: full-stack разработчик.
|
||
Оценка занятости: 58 часов.
|
||
Основные задачи: реализация форм регистрации и входа, связка пользовательских сценариев с бизнес-логикой, доработка личного кабинета, интеграция покупки абонементов, отладка переходов между страницами и проверка корректности пользовательских сообщений.</paragraph>
|
||
<paragraph index="63" node_type="writer">Стрельников Вадим
|
||
Роль: frontend разработчик, дизайнер.
|
||
Оценка занятости: 49 часов.
|
||
Основные задачи: разработка визуальной концепции сайта, вёрстка главной страницы и экранов авторизации, настройка тёмной темы, адаптация карточек тарифов и тренеров, подбор визуальных акцентов, доработка читаемости и согласованности интерфейса на разных экранах.</paragraph>
|
||
<paragraph index="64" node_type="writer">Акуев Магомед
|
||
Роль: тестировщик, дизайнер.
|
||
Оценка занятости: 37 часов.
|
||
Основные задачи: ручное тестирование регистрации, входа и кабинета, проверка сценариев покупки абонемента, поиск визуальных и функциональных дефектов, проверка текстов форм и состояний ошибок, участие в финальной полировке элементов интерфейса.</paragraph>
|
||
<paragraph index="65" node_type="writer">Суммарная оценка трудозатрат команды: 208 часов.</paragraph>
|
||
<paragraph index="66" node_type="writer">Итоговые экраны системы</paragraph>
|
||
<paragraph index="67" node_type="writer">Ниже приведены скриншоты реально работающего локального экземпляра проекта.</paragraph>
|
||
<paragraph index="68" node_type="writer">Главная страница</paragraph>
|
||
<paragraph index="70" node_type="writer">На главной странице представлены ключевое позиционирование клуба, тарифы, карточки тренеров, адреса филиалов и информационные блоки.</paragraph>
|
||
<paragraph index="71" node_type="writer">Страница входа</paragraph>
|
||
<paragraph index="73" node_type="writer">Экран входа минималистичен и сфокусирован на быстрой авторизации пользователя.</paragraph>
|
||
<paragraph index="74" node_type="writer">Страница регистрации</paragraph>
|
||
<paragraph index="76" node_type="writer">Форма регистрации включает обязательные пользовательские поля и согласие на обработку персональных данных.</paragraph>
|
||
<paragraph index="77" node_type="writer">Личный кабинет пользователя</paragraph>
|
||
<paragraph index="79" node_type="writer">В кабинете отображаются профиль пользователя, срок действия активного абонемента, доступные тарифы и история покупок.</paragraph>
|
||
<paragraph index="80" node_type="writer">Вывод</paragraph>
|
||
<paragraph index="81" node_type="writer">По результатам анализа документации и проверки интерфейса можно сделать вывод, что проект FitnessCenter доведён до работоспособного состояния и решает основные задачи учебного веб-продукта: демонстрацию услуг фитнес-клуба, регистрацию пользователей, авторизацию и оформление абонементов. Архитектура проекта остаётся достаточно простой для сопровождения, а Docker-окружение делает запуск и демонстрацию удобными.</paragraph>
|
||
<paragraph index="82" node_type="writer">Отдельным преимуществом проекта является согласованная работа команды: backend, frontend, дизайн и тестирование разделены по ролям, но при этом объединены в единый пользовательский сценарий. Это делает результат целостным как с технической, так и с визуальной точки зрения.</paragraph>
|
||
<paragraph index="83" node_type="writer">Использованные материалы и литература</paragraph>
|
||
<paragraph index="84" node_type="writer">Локальные материалы проекта</paragraph>
|
||
<paragraph index="85" node_type="writer">техническая документация проекта: ../DOCS_RU.md;</paragraph>
|
||
<paragraph index="86" node_type="writer">локально запущенный сайт: http://localhost:1337;</paragraph>
|
||
<paragraph index="87" node_type="writer">шаблон оформления и структуры отчёта: example.docx.</paragraph>
|
||
<paragraph index="88" node_type="writer">Подобранная литература</paragraph>
|
||
<paragraph index="89" node_type="writer">Django Software Foundation. Django documentation [Электронный ресурс]. URL: https://docs.djangoproject.com/en/5.1/ (дата обращения: 16.03.2026).</paragraph>
|
||
<paragraph index="90" node_type="writer">Bootstrap Team. Bootstrap v5.3 Documentation [Электронный ресурс]. URL: https://getbootstrap.com/docs/5.3/ (дата обращения: 16.03.2026).</paragraph>
|
||
<paragraph index="91" node_type="writer">Fowler M. Patterns of Enterprise Application Architecture. Boston: Addison-Wesley, 2002.</paragraph>
|
||
<paragraph index="92" node_type="writer">Krug S. Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability. 3rd ed. Berkeley: New Riders, 2014.</paragraph>
|
||
<paragraph index="93" node_type="writer">Pressman R. S., Maxim B. R. Software Engineering: A Practitioner's Approach. 9th ed. New York: McGraw-Hill, 2019.</paragraph>
|
||
<paragraph index="94" node_type="writer">Gamma E., Helm R., Johnson R., Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Boston: Addison-Wesley, 1994.</paragraph>
|
||
<paragraph index="95" node_type="writer">Sommerville I. Software Engineering. 10th ed. Boston: Pearson, 2015.</paragraph>
|
||
<paragraph index="96" node_type="writer">Нильсен Я. Веб-дизайн: удобство использования веб-сайтов. М.: Вильямс, 2010.</paragraph>
|
||
<paragraph index="97" node_type="writer">Купер А., Рейман Р., Кронин Д., Носсел К. Интерфейс. Основы проектирования взаимодействия. 4-е изд. СПб.: Питер, 2017.</paragraph>
|
||
<paragraph index="98" node_type="writer">Макконнелл С. Совершенный код. 2-е изд. СПб.: Питер, 2019.</paragraph>
|
||
</indexing>
|