82 lines
4.6 KiB
Typst
82 lines
4.6 KiB
Typst
#import "@preview/modern-g7-32:0.2.0": abstract, appendixes, enum-numbering, gost
|
||
|
||
#set enum(numbering: enum-numbering)
|
||
#set heading(numbering: "1.1.1.1")
|
||
|
||
#show: gost.with(
|
||
ministry: "Министерство науки и высшего образования Российской Федерации",
|
||
organization: (
|
||
full: "Федеральное государственное автономное образовательное учреждение высшего образования «Южный федеральный университет»",
|
||
short: "ЮФУ",
|
||
),
|
||
about: "пояснительной записке",
|
||
subject: "разработке мобильного приложения Wallenc — универсального кошелька для безопасного хранения данных на небезопасных хранилищах без собственного сервера",
|
||
approved-by: (
|
||
name: "Беликов А. Н.",
|
||
position: "старший преподаватель кафедры системного анализа и телекоммуникаций",
|
||
),
|
||
manager: (
|
||
name: "Беликов А. Н.",
|
||
position: "научный руководитель ВКР, старший преподаватель",
|
||
),
|
||
city: "Таганрог",
|
||
year: 2026,
|
||
performers: (
|
||
(name: "Пытков Р. Е.", position: "студент гр. КТбо4-9"),
|
||
),
|
||
)
|
||
|
||
#set text(font: "Times New Roman")
|
||
|
||
#import "includes/common.typ": pz-appendix-title, pz-fig
|
||
|
||
#abstract(
|
||
"мобильное приложение",
|
||
"клиентское шифрование",
|
||
"Android",
|
||
"vault",
|
||
"zero-knowledge",
|
||
"синхронизация",
|
||
)[
|
||
Пояснительная записка посвящена разработке мобильного приложения Wallenc — клиентского кошелька для безопасного хранения данных на недоверенных хранилищах без собственного сервера приложения. Описаны анализ предметной области и аналогов, формирование требований, проектирование архитектуры и пользовательского интерфейса, программная реализация на Kotlin (Android, Jetpack Compose, Room, Hilt), тестирование и краткая экономическая оценка. Реализованы управление локальными и удалёнными vault, клиентское AES-шифрование, OAuth Яндекс, служебное хранение метаданных в Room; спроектирован контур синхронизации без передачи ключей провайдеру. Исходный код размещён в приватном репозитории Gitea ЮФУ. Полный листинг исходных файлов — приложение А; программная документация — приложение Б.
|
||
]
|
||
|
||
#include "includes/abstract-en.typ"
|
||
|
||
#outline()
|
||
|
||
#include "includes/intro.typ"
|
||
#include "includes/ch01.typ"
|
||
#include "includes/ch02.typ"
|
||
#include "includes/ch03.typ"
|
||
#include "includes/ch04.typ"
|
||
#include "includes/ch05.typ"
|
||
#include "includes/ch06.typ"
|
||
#include "includes/conclusion.typ"
|
||
#include "includes/abbreviations.typ"
|
||
|
||
// Заголовок списка источников задаётся в gost (bibliography.title).
|
||
#bibliography("references.bib")
|
||
|
||
#show: appendixes
|
||
|
||
#pz-appendix-title[Листинги исходного кода проекта Wallenc]
|
||
|
||
#include "listings/generated/appendix-a.typ"
|
||
|
||
#pz-appendix-title[Программная документация]
|
||
|
||
#include "appendices/appendix-b.typ"
|
||
|
||
#pz-appendix-title[Скриншоты пользовательского интерфейса]
|
||
|
||
#pz-fig("fig_05_local_vaults.jpg", [Локальные vault], "fig-05-app")
|
||
#pz-fig("fig_06_encrypt_dialog.jpg", [Диалог шифрования], "fig-06-app")
|
||
#pz-fig("fig_07_open_close_dialog.jpg", [Открытие и закрытие vault], "fig-07-app")
|
||
#pz-fig("fig_08_rename_delete_dialog.jpg", [Переименование и удаление], "fig-08-app")
|
||
#pz-fig("fig_09_remote_vaults.jpg", [Удалённые vault], "fig-09-app")
|
||
#pz-fig("fig_10_yandex_oauth.jpg", [OAuth Яндекс], "fig-10-app")
|
||
#pz-fig("fig_11_room_schema.png", [Схема Room], "fig-11-app")
|
||
#pz-fig("fig_12_tasks_screen.jpg", [Экран задач], "fig-12-app")
|
||
#pz-fig("fig_13_tasks_notification.jpg", [Уведомление о задачах], "fig-13-app")
|