siteforglod/!doc/fitnesscenter_report.md
2026-05-19 09:40:26 +03:00

13 KiB
Raw Permalink Blame History

Отчёт по проекту 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 часов.

Итоговые экраны системы

Ниже приведены скриншоты реально работающего локального экземпляра проекта.

Главная страница

Главная страница проекта

На главной странице представлены ключевое позиционирование клуба, тарифы, карточки тренеров, адреса филиалов и информационные блоки.

Страница входа

Страница входа

Экран входа минималистичен и сфокусирован на быстрой авторизации пользователя.

Страница регистрации

Страница регистрации

Форма регистрации включает обязательные пользовательские поля и согласие на обработку персональных данных.

Личный кабинет пользователя

Личный кабинет пользователя

В кабинете отображаются профиль пользователя, срок действия активного абонемента, доступные тарифы и история покупок.

Вывод

По результатам анализа документации и проверки интерфейса можно сделать вывод, что проект 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.