Initial commit

parents
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="Go" enabled="true" />
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/awesomeProject1.iml" filepath="$PROJECT_DIR$/.idea/awesomeProject1.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/spec" vcs="Git" />
</component>
</project>
\ No newline at end of file
@startuml
title Диаграмма состояний: Основные функции приложения FitConnect
' Установим параметры отображения
skinparam state {
BackgroundColor PaleGreen
BorderColor DarkGreen
}
' Определение состояний
[*] --> Неавторизован
state Неавторизован {
[*] --> Открыт_экран_авторизации
Открыт_экран_авторизации --> Введен_логин_и_пароль : Ввод
Введен_логин_и_пароль --> Проверка_данных : Нажата_кнопка_входа
Проверка_данных --> Успешная_авторизация : Данные_верны
Проверка_данных --> Ошибка_авторизации : Данные_неверны
Ошибка_авторизации --> Открыт_экран_авторизации : Повторить_попытку
Успешная_авторизация --> Авторизован
}
state Авторизован {
[*] --> Главный_экран
Главный_экран --> Просмотр_расписания : Нажата_кнопка
Главный_экран --> Управление_абонементом : Нажата_кнопка
Главный_экран --> Запись_к_тренеру : Нажата_кнопка
Главный_экран --> Связь_с_поддержкой : Нажата_кнопка
}
state Просмотр_расписания {
[*] --> Отображение_расписания
Отображение_расписания --> Главный_экран : Вернуться
}
state Управление_абонементом {
[*] --> Отображение_абонемента
Отображение_абонемента --> Главный_экран : Вернуться
}
state Запись_к_тренеру {
[*] --> Отображение_тренеров
Отображение_тренеров --> Запись : Выбор_тренера
Запись --> Успешная_запись : Подтверждение_записи
Запись --> Ошибка_записи : Ошибка
Успешная_запись --> Главный_экран : Вернуться
Ошибка_записи --> Отображение_тренеров : Повторить_попытку
Отображение_тренеров --> Главный_экран : Отмена
}
state Связь_с_поддержкой {
[*] --> Открыт_экран_связи
Открыт_экран_связи --> Отправка_запроса : Отправка
Отправка_запроса --> Получение_ответа : Получен_ответ
Получение_ответа --> Главный_экран : Вернуться
Отправка_запроса --> Ошибка_отправки : Ошибка
Ошибка_отправки --> Открыт_экран_связи : Повторить_попытку
}
@enduml
@startuml
title Диаграмма деятельности: Основные функции приложения FitConnect
(*) --> "Пользователь открывает приложение"
if "Пользователь авторизован?" then
-->[Да] "Отображается главный экран приложения"
--> "Пользователь может просматривать расписание залов"
--> "Пользователь может управлять абонементом"
--> "Пользователь может записаться к тренеру"
--> "Пользователь может связаться с поддержкой"
--> (*)
else
-->[Нет] "Отображается экран авторизации"
--> "Пользователь вводит логин и пароль"
if "Введены верные учетные данные?" then
-->[Да] "Система проверяет данные"
if "Данные верны?" then
-->[Да] "Авторизация прошла успешно"
--> "Отображается главный экран приложения"
--> (*)
else
-->[Нет] "Пользователю выводится сообщение об ошибке"
--> "Отображается экран авторизации"
--> (*)
endif
else
-->[Нет] "Пользователю выводится сообщение об ошибке"
--> "Отображается экран авторизации"
--> (*)
endif
endif
@enduml
\ No newline at end of file
@startuml
' Установим параметры отображения
skinparam sequence {
ArrowColor DarkGreen
ParticipantBorderColor DarkGreen
}
' Определение участников
participant "Пользователь" as User
participant "Система" as System
participant "Фитнес-центр" as Gym
participant "Тренер" as Trainer
participant "Поддержка" as Support
' Сценарий: Пользователь открывает приложение и авторизуется
User -> System: Открытие приложения
System -> User: Отображение экрана авторизации
User -> System: Ввод логина и пароля
System -> System: Проверка учетных данных
System -> User: Успешная авторизация
' Сценарий: Пользователь просматривает расписание залов
User -> System: Просмотр расписания
System -> Gym: Запрос расписания залов
Gym -> System: Передача расписания
System -> User: Отображение расписания
' Сценарий: Пользователь управляет абонементом
User -> System: Управление абонементом
System -> Gym: Запрос абонемента
Gym -> System: Передача информации об абонементе
System -> User: Отображение информации об абонементе
' Сценарий: Пользователь записывается к тренеру
User -> System: Запись к тренеру
System -> Gym: Запрос доступных тренеров и времени
Gym -> System: Передача доступной информации
System -> Trainer: Запись пользователя на тренировку
Trainer -> System: Подтверждение записи
System -> User: Успешная запись на тренировку
' Сценарий: Пользователь связывается с поддержкой
User -> System: Связь с поддержкой
System -> Support: Передача запроса пользователя
Support -> System: Обработка запроса
System -> User: Ответ поддержки
@enduml
@startuml
title Диаграмма классов: Фитнес-сервисное приложение
' Установим параметры отображения
skinparam class {
BackgroundColor PaleGreen
BorderColor DarkGreen
}
' Определение классов
class User {
- username: string
- password: string
+ login(username: string, password: string): boolean
+ logout(): void
+ viewSchedule(): void
+ manageSubscription(): void
+ bookTrainer(): void
+ contactSupport(): void
}
class Gym {
- schedule: Schedule
- subscriptions: Subscription[]
+ getSchedule(): Schedule
+ manageSubscription(subscription: Subscription): void
+ bookTrainer(trainer: Trainer, time: DateTime): void
+ contactSupport(): void
}
class Trainer {
- name: string
- expertise: string
}
class Support {
+ answerQuery(query: string): string
}
class Schedule {
- timeSlots: TimeSlot[]
}
class Subscription {
- type: string
- duration: int
- startDate: DateTime
}
class TimeSlot {
- startTime: DateTime
- endTime: DateTime
}
' Связи между классами
User -- Gym
User -- Trainer
User -- Support
Gym -- Schedule
Gym -- Subscription
Schedule -- TimeSlot
@enduml
module awesomeProject1
go 1.19
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment