siteforglod/!doc/fitnesscenter_reporte.docx.xml
2026-05-19 09:40:26 +03:00

94 lines
16 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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>