Skip to content

Commit

Permalink
docs update
Browse files Browse the repository at this point in the history
  • Loading branch information
ValeryVerkhoturov committed Jun 10, 2024
1 parent d141fdb commit 9350413
Show file tree
Hide file tree
Showing 10 changed files with 187 additions and 107 deletions.
2 changes: 1 addition & 1 deletion course-work/course-work-1.tex
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ \subsection{Анализ существующих систем для поиск
\small
\begin{tabular}{ |p{2cm}|p{3cm}|p{2cm}|p{2cm}|p{3cm}|p{2cm}| }
\hline
Сервис~/ Приложение & Интерфейс и удобство использования & Опове\-ще\-ния & Точность определения местоположения & Регистрация и подача заявки & Доступ\-ность \\ \hline
Сервис~/ Приложение & Интерфейс и удобство использования & Опове\-ще\-ния & Точность определения местоположения & Удобство регистрации и подача заявки & Доступ\-ность \\ \hline

стол\-на\-ходок.рф & Простой и интуитивно понятный интерфейс & Отсут\-ству\-ют & Не\-оп\-ре\-де\-ле\-но & Простой процесс регистрации & Широкий доступ \\ \hline

Expand Down
162 changes: 112 additions & 50 deletions course-work/course-work-2.tex
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,18 @@ \subsection{Требования к разрабатываемой систем
\subsubsection{Функциональные требования}

\begin{enumerate}
\item Приложение должно предоставлять возможность регистрации и авторизации пользователей.
\item Приложение должно предоставлять возможность поиска утерянных вещей по различным критериям (например, по типу вещи, по месту утери и т.д.).
\item Пользователи должны иметь возможность добавлять информацию о утерянных вещах, включая описание, фотографии и место утери.
\item Приложение должно предоставлять функционал для связи между пользователем, который нашел вещь, и пользователем, который ее потерял.
\item Приложение должно иметь систему уведомлений, которая будет информировать пользователей о новых найденных вещах, соответствующих их критериям поиска.
\item Приложение должно предоставлять возможность регистрации и авторизации пользователей;
\item приложение должно предоставлять возможность поиска утерянных вещей по различным критериям (например, по типу вещи, по месту утери и т.д.);
\item пользователи должны иметь возможность добавлять информацию о утерянных вещах, включая описание, фотографии и место утери;
\item приложение должно предоставлять функционал для связи между пользователем, который нашел вещь, и пользователем, который ее потерял;
\item приложение должно иметь систему уведомлений, которая будет информировать пользователей о новых найденных вещах, соответствующих их критериям поиска;
\end{enumerate}

В соответствии с требованиями была составлена ER-диаграмма, которая представлена на рис.~\ref{fig:erd}. Пользователь регистрируется посредством OAuth, при этом заполняются таблицы Account и User. Пользователь заполняет свои социальные сети UserSocialNetwork. Пользователь заполняет форму с потерянной или найденной вещью в LostAndFoundItem, и привязывает к карточки вещи соц. сети, по которой с ним можно связаться.

\begin{figure}[htb]
\centering
\includegraphics[width=.95\textwidth]{images/erd}
\includegraphics[width=.95\textwidth]{images/erd2}
\parskip=6pt
\caption{ER-диаграмма системы}
\label{fig:erd}
Expand Down Expand Up @@ -340,7 +340,7 @@ \subsubsection{Модуль добавления и поиска вещей}

\subsubsection{Модуль генерации описания объявлений}

Модуль генерации описания объявлений является важным компонентом приложения для поиска и возврата утерянных вещей. Он предназначен для автоматического создания описаний объявлений на основе введенных пользователем данных, что облегчает процесс создания объявлений и повышает их качество.
Модуль генерации описания объявлений~\ref{fig:generatingDiagram} является важным компонентом приложения для поиска и возврата утерянных вещей. Он предназначен для автоматического создания описаний объявлений на основе введенных пользователем данных, что облегчает процесс создания объявлений и повышает их качество.

\begin{figure}[htb]
\centering
Expand All @@ -351,53 +351,115 @@ \subsubsection{Модуль генерации описания объявлен
\end{figure}

\begin{comment}
@startuml
class "Пользователь" as User {
}

class "Система Генерации" {
-ChatGPTApi chatGPT
+generatePostDescription(input: String): String
}

class "ChatGPTApi" {
+generateText(prompt: String): String
}

class "Post" {
-String description
+setDescription(desc: String): void
+getDescription(): String
}

User --> "Система Генерации" : Вводит данные
"Система Генерации" --> ChatGPTApi : Запрашивает генерацию
ChatGPTApi --> "Система Генерации" : Возвращает описание
"Система Генерации" --> Post : Устанавливает описание
@startuml
class "Пользователь" as User {
}

class "Система Генерации" {
-ChatGPTApi chatGPT
+generatePostDescription(input: String): String
}

class "ChatGPTApi" {
+generateText(prompt: String): String
}

class "Post" {
-String description
+setDescription(desc: String): void
+getDescription(): String
}

User --> "Система Генерации" : Вводит данные
"Система Генерации" --> ChatGPTApi : Запрашивает генерацию
ChatGPTApi --> "Система Генерации" : Возвращает описание
"Система Генерации" --> Post : Устанавливает описание

note right of User
Пользователь - инициирует процесс
генерации описания поста.
end note

note right of "Система Генерации"
Система Генерации - основной класс,
управляющий процессом генерации
текста с использованием API ChatGPT.
end note

note right of ChatGPTApi
ChatGPTApi - класс, инкапсулирующий
взаимодействие с внешним API сервисом
ChatGPT для генерации текста.
end note

note right of Post
Post - класс, представляющий пост,
в который добавляется
сгенерированное описание.
end note
@enduml
\end{comment}

note right of User
Пользователь - инициирует процесс
генерации описания поста.
end note
\subsubsection{Непрерывная интеграция}

note right of "Система Генерации"
Система Генерации - основной класс,
управляющий процессом генерации
текста с использованием API ChatGPT.
end note
Для непрерывной интеграции использовалась платформа GitHub Actions. При изменении master ветки начинает работать скрипт на раннере, который собирает Docker образ и загружает его в частный Yandex Cloud Registry. Далее машина, на которой запущенно приложение, скачивает образ, скачивает образ и запускает контейнер на основной машине. Диаграмма представлена на рис.~\ref{fig:cicd}.

note right of ChatGPTApi
ChatGPTApi - класс, инкапсулирующий
взаимодействие с внешним API сервисом
ChatGPT для генерации текста.
end note
\begin{figure}[htb]
\centering
\includegraphics[width=.6\textwidth]{images/cicd.png}
\parskip=6pt
\caption{Диаграмма выкладки}
\label{fig:cicd}
\end{figure}

note right of Post
Post - класс, представляющий пост,
в который добавляется
сгенерированное описание.
end note
@enduml
\begin{comment}
@startuml
class "Пользователь" as User {
}

class "Система генерации" {
-ChatGPTApi chatGPT
+generatePostDescription(input: String): String
}

class "ChatGPTApi" {
+generateText(prompt: String): String
}

class "Post" {
-String description
+setDescription(desc: String): void
+getDescription(): String
}

User --> "Система Генерации" : Вводит данные
"Система Генерации" --> ChatGPTApi : Запрашивает генерацию
ChatGPTApi --> "Система Генерации" : Возвращает описание
"Система Генерации" --> Post : Устанавливает описание

note right of User
Пользователь - инициирует процесс
генерации описания поста.
end note

note right of "Система Генерации"
Система Генерации - основной класс,
управляющий процессом генерации
текста с использованием API ChatGPT.
end note

note right of ChatGPTApi
ChatGPTApi - класс, инкапсулирующий
взаимодействие с внешним API сервисом
ChatGPT для генерации текста.
end note

note right of Post
Post - класс, представляющий пост,
в который добавляется
сгенерированное описание.
end note
@enduml
\end{comment}

\subsection*{Вывод по разделу}
Expand Down
Loading

0 comments on commit 9350413

Please sign in to comment.