# Отчёт по проекту FitnessCenter Подготовлено на основе технической документации проекта, работающего локального экземпляра сайта и шаблона оформления `example.docx`. Город: Ростов-на-Дону Дата подготовки отчёта: 16.03.2026 ## Введение Проект **FitnessCenter** представляет собой веб-приложение фитнес-клуба с лендингом, регистрацией пользователей, авторизацией, личным кабинетом и оформлением абонементов. Система ориентирована на быстрый запуск в учебной или демонстрационной среде и построена по модели серверного рендеринга HTML без отдельного JSON API. Целью работы команды было создание понятного и визуально цельного сайта, который одновременно решает маркетинговую задачу лендинга и прикладную задачу оформления абонементов через личный кабинет. ## Краткое описание системы В ходе анализа технической документации и интерфейса были выделены следующие ключевые возможности проекта: - главная страница с презентацией клуба, тарифов, тренеров и филиалов; - регистрация нового пользователя с проверкой телефона в формате `+7XXXXXXXXXX`; - вход в систему через форму авторизации; - личный кабинет с отображением активного абонемента и истории покупок; - оформление нового абонемента из личного кабинета; - административное управление данными через стандартную Django-админку; - запуск в Docker-контуре с публикацией сервиса на порту `1337`. ## Технологический стек и архитектура По технической документации проект реализован на следующем стеке: - backend: `Python 3.13`, `Django 5.1.4`; - frontend: `Bootstrap 5.3`, кастомные стили в `static/css/main.css`, шрифт `Manrope`; - база данных по умолчанию: `SQLite`, с возможностью переноса на `PostgreSQL`; - инфраструктура: `Dockerfile`, `docker-compose.yml`, `entrypoint.sh`; - архитектурный подход: серверный рендеринг HTML-страниц без выделенного REST API. Ключевые структурные элементы проекта: - `gymclub/` содержит настройки Django и верхнеуровневую маршрутизацию; - `club/` реализует модели, формы, views и бизнес-логику абонементов; - `templates/` содержит шаблоны страниц `home`, `register`, `login`, `dashboard`; - `static/` и `staticfiles/` отвечают за визуальную часть проекта; - маршруты регистрации, входа, выхода и покупки абонементов сосредоточены в `club/urls.py`. ## Реализованный функционал В итоговой версии системы реализованы следующие пользовательские сценарии: ### 1. Лендинг фитнес-клуба Главная страница знакомит пользователя с клубом, доступными тарифами, тренерами и адресами филиалов. Интерфейс выполнен в тёмной цветовой схеме с акцентным зелёным цветом, что делает сайт визуально единым и современным. ### 2. Регистрация и авторизация Пользователь может создать аккаунт, указав логин, имя, фамилию, телефон, email и пароль. После регистрации доступны вход в систему и переход в личный кабинет. Для телефона реализована нормализация и валидация, что снижает количество некорректных записей. ### 3. Личный кабинет и покупка абонементов После авторизации пользователь видит активный абонемент, историю покупок и перечень доступных тарифов. Покупка выполняется через серверный сценарий, который рассчитывает дату окончания абонемента автоматически. ### 4. Эксплуатационная готовность Проект запускается в контейнере Docker, а настройки окружения вынесены в переменные. Это упрощает перенос между стендами и делает демонстрацию предсказуемой. ## Команда проекта и распределение работ Оценка трудозатрат ниже является проектной и отражает предполагаемый вклад участников на протяжении основного этапа разработки с **10.02.2026 по 14.03.2026**. - **Комин Архип** Роль: тимлид, инфраструктура, DevOps и backend. Оценка занятости: **64 часа**. Основные задачи: постановка архитектуры проекта, подготовка Docker-контура, настройка переменных окружения, организация структуры Django-приложения, реализация моделей `MembershipPlan`, `Profile`, `Subscription`, настройка маршрутов и контроль интеграции backend-части с шаблонами. - **Токмачев Егор** Роль: full-stack разработчик. Оценка занятости: **58 часов**. Основные задачи: реализация форм регистрации и входа, связка пользовательских сценариев с бизнес-логикой, доработка личного кабинета, интеграция покупки абонементов, отладка переходов между страницами и проверка корректности пользовательских сообщений. - **Стрельников Вадим** Роль: frontend разработчик, дизайнер. Оценка занятости: **49 часов**. Основные задачи: разработка визуальной концепции сайта, вёрстка главной страницы и экранов авторизации, настройка тёмной темы, адаптация карточек тарифов и тренеров, подбор визуальных акцентов, доработка читаемости и согласованности интерфейса на разных экранах. - **Акуев Магомед** Роль: тестировщик, дизайнер. Оценка занятости: **37 часов**. Основные задачи: ручное тестирование регистрации, входа и кабинета, проверка сценариев покупки абонемента, поиск визуальных и функциональных дефектов, проверка текстов форм и состояний ошибок, участие в финальной полировке элементов интерфейса. **Суммарная оценка трудозатрат команды: 208 часов.** ## Итоговые экраны системы Ниже приведены скриншоты реально работающего локального экземпляра проекта. ### Главная страница ![Главная страница проекта](home.png) На главной странице представлены ключевое позиционирование клуба, тарифы, карточки тренеров, адреса филиалов и информационные блоки. ### Страница входа ![Страница входа](login.png) Экран входа минималистичен и сфокусирован на быстрой авторизации пользователя. ### Страница регистрации ![Страница регистрации](register.png) Форма регистрации включает обязательные пользовательские поля и согласие на обработку персональных данных. ### Личный кабинет пользователя ![Личный кабинет пользователя](dashboard.png) В кабинете отображаются профиль пользователя, срок действия активного абонемента, доступные тарифы и история покупок. ## Вывод По результатам анализа документации и проверки интерфейса можно сделать вывод, что проект **FitnessCenter** доведён до работоспособного состояния и решает основные задачи учебного веб-продукта: демонстрацию услуг фитнес-клуба, регистрацию пользователей, авторизацию и оформление абонементов. Архитектура проекта остаётся достаточно простой для сопровождения, а Docker-окружение делает запуск и демонстрацию удобными. Отдельным преимуществом проекта является согласованная работа команды: backend, frontend, дизайн и тестирование разделены по ролям, но при этом объединены в единый пользовательский сценарий. Это делает результат целостным как с технической, так и с визуальной точки зрения. ## Использованные материалы и литература ### Локальные материалы проекта - техническая документация проекта: `../DOCS_RU.md`; - локально запущенный сайт: `http://localhost:1337`; - шаблон оформления и структуры отчёта: `example.docx`. ### Подобранная литература 1. Django Software Foundation. **Django documentation** [Электронный ресурс]. URL: `https://docs.djangoproject.com/en/5.1/` (дата обращения: 16.03.2026). 2. Bootstrap Team. **Bootstrap v5.3 Documentation** [Электронный ресурс]. URL: `https://getbootstrap.com/docs/5.3/` (дата обращения: 16.03.2026). 3. Fowler M. **Patterns of Enterprise Application Architecture**. Boston: Addison-Wesley, 2002. 4. Krug S. **Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability**. 3rd ed. Berkeley: New Riders, 2014. 5. Pressman R. S., Maxim B. R. **Software Engineering: A Practitioner's Approach**. 9th ed. New York: McGraw-Hill, 2019. 6. Gamma E., Helm R., Johnson R., Vlissides J. **Design Patterns: Elements of Reusable Object-Oriented Software**. Boston: Addison-Wesley, 1994. 7. Sommerville I. **Software Engineering**. 10th ed. Boston: Pearson, 2015. 8. Нильсен Я. **Веб-дизайн: удобство использования веб-сайтов**. М.: Вильямс, 2010. 9. Купер А., Рейман Р., Кронин Д., Носсел К. **Интерфейс. Основы проектирования взаимодействия**. 4-е изд. СПб.: Питер, 2017. 10. Макконнелл С. **Совершенный код**. 2-е изд. СПб.: Питер, 2019.