eletrotupi / tcc/ commit / bdcdeee

thesis: rename the monografia directory

The thesis sources now live under thesis/, with the entry point,
bibliography, Makefile job name and CI workflow renamed to match

Also ditch the compiled PDF which was annoying me so much
Pedro Lucas Porcellis porcellis@eletrotupi.com · 6 days ago bdcdeee8f7379257713e6158d61d86ed58f68b37 Browse files
Parents 8211b32
Changed files
70
Additions
+11
Deletions
-10
.github/workflows/thesis.yml
1 1
name: Publish thesis 
2 2
 
3 3
on:
4 4
  push:
5 5
    branches:
6 6
      - master
7 7
    paths:
8 -
      - 'monografia/**'
8 +
      - 'thesis/**'
9 9
      - '.github/workflows/thesis.yml'
10 10
 
11 11
jobs:
12 12
  publish:
13 13
    name: Deploy thesis PDF
18 18
        uses: actions/checkout@v4
19 19
 
20 20
      - name: Compile LaTeX
21 21
        uses: xu-cheng/latex-action@v3
22 22
        with:
23 -
          root_file: monografia.tex
24 -
          working_directory: monografia
23 +
          root_file: thesis.tex
24 +
          working_directory: thesis
25 25
 
26 26
      - name: Upload final PDF
27 27
        uses: appleboy/scp-action@v0.1.7
28 28
        with:
29 29
          host: ${{ secrets.VPS_HOST }}
30 30
          username: ${{ secrets.VPS_USER }}
31 31
          key: ${{ secrets.VPS_SSH_KEY }}
32 -
          source: monografia/monografia.pdf
32 +
          source: thesis/thesis.pdf
33 33
          target: /srv/static/
34 34
          strip_components: 1
README.md modified+3 -3
README.md
1 1
# Nexo
2 2

3 3
Nexo é um aplicativo de monitoramento de humor para pessoas com
4 4
transtorno bipolar, e também um trabalho de conclusão de curso. Ele
5 5
parte de uma pergunta simples e teimosa: como perceber o próprio estado
52 52

53 53
```sh
54 54
nexo/
55 55
├── api         # servidor Express + Prisma
56 56
├── frontend    # app React Native (Expo)
57 -
├── monografia  # a tese, em LaTeX
57 +
├── thesis      # a tese, em LaTeX
58 58
├── docs        # decisões (ADRs) e notas de trabalho
59 59
├── ansible     # provisionamento do servidor
60 60
└── docker-compose.yml
61 61
```
62 62

68 68
- **Mobile** — React Native (Expo), expo-router, React Query com cache
69 69
  persistido em MMKV e Zustand para o estado efêmero.
70 70
- **Infra** — Docker Compose no dia a dia e Ansible para o servidor;
71 71
  GitHub Actions cuida do deploy da API e da publicação da tese.
72 72

73 -
![Arquitetura e elementos do sistema](monografia/images/arch-v2.png)
73 +
![Arquitetura e elementos do sistema](thesis/images/arch-v2.png)
74 74

75 75
## Como rodar localmente
76 76

77 77
Pré-requisitos: Docker e o Expo CLI.
78 78

112 112
cd frontend && npm run test:e2e
113 113
```
114 114

115 115
## Monografia
116 116

117 -
A tese que acompanha o projeto vive em `monografia/`, escrita em LaTeX.
117 +
A tese que acompanha o projeto vive em `thesis/`, escrita em LaTeX.
118 118
A edição costuma ser feita no Vim com o **vimtex**, que cuida de
119 119
compilar enquanto se escreve.
120 120

121 121
## Licença
122 122

125 125

126 126
Ainda assim, na medida do possível, o código está sob os termos da
127 127
GPL-3.0-only e o texto sob a CC BY-NC-SA 4.0. Na prática: a tese pode
128 128
ser lida, citada e compartilhada, mas não pode ser vendida nem usada
129 129
comercialmente.
ansible/roles/nginx/templates/site.https.j2
1 1
server {
2 2
    listen 80;
3 3
    server_name {{ vhosts[0] }};
4 4

5 5
    location ^~ /.well-known {
23 23
    ssl_protocols TLSv1.2 TLSv1.3;
24 24

25 25
    add_header X-Clacks-Overhead "GNU Terry Pratchett";
26 26
    add_header Permissions-Policy interest-cohort=();
27 27

28 +
    # Public URL stays /monografia; the artifact was renamed with the source dir
28 29
    location = /monografia {
29 -
        alias {{ nginx_static_root }}/monografia.pdf;
30 +
        alias {{ nginx_static_root }}/thesis.pdf;
30 31
        add_header Content-Type application/pdf;
31 32
        add_header Content-Disposition "inline";
32 33
    }
33 34

34 35
    location = /logs {
57 58

58 59
    location ^~ /.well-known {
59 60
        root /var/www;
60 61
    }
61 62
}
monografia/.gitignore → thesis/.gitignore
1 1
*.aux
2 2
*.fls
3 3
*.synctex.gz
4 4
*.fdb_latexmk
5 5
*.toc
9 9
*.blg
10 10
*.bbl
11 11
*.lol
12 12
*.out
13 13
*.pdf
thesis/Makefile renamed+1 -1
monografia/Makefile → thesis/Makefile
1 -
JOBNAME	= monografia
1 +
JOBNAME	= thesis
2 2
LATEX		= pdflatex
3 3
BIBTEX	 = bibtex
4 4
FLAGS		= -interaction=nonstopmode -halt-on-error
5 5

6 6
.PHONY: all clean distclean FORCE
29 29
		$(JOBNAME).synctex.gz
30 30

31 31
distclean: clean
32 32
	rm -f $(JOBNAME).pdf
33 33

monografia/abnt.bst → thesis/abnt.bst
1 1
%==============================================================================
2 2
% abnt.bst
3 3
% Estilo BibTeX de formatação de referências bibliográficas no padrão ABNT
4 4
%
5 5
% UFRGS TeX Users Group
1370 1370
SORT
1371 1371
EXECUTE {begin.bib}
1372 1372
ITERATE {call.type$}
1373 1373
EXECUTE {end.bib}
1374 1374

monografia/chapters/app.tex → thesis/chapters/app.tex
1 1
\chapter{Nexo}
2 2

3 3
O aplicativo proposto por esse trabalho, denominado ``Nexo'', se propõe a ser uma
4 4
aplicação para dispositivos móveis, de forma a preencher essas lacunas
5 5
demonstradas tanto pelo questionário, quanto também tentando preencher as
444 444
garantir uma separação adequada de responsabilidades e facilitar a manutenção e
445 445
escalabilidade do código, conforme as propostas de \citet{Fowler_2013} e
446 446
\citet{Gamma:2011}. Esses elementos são importantes, considerando os princípios
447 447
de legibilidade, simplicidade e responsabilidades, muitos organizados por
448 448
\citet{Martin_2012}, asseguram que o código produzido seja limpo e sustentável.
monografia/chapters/architecture.tex → thesis/chapters/architecture.tex
1 1
\chapter{Arquitetura e Funcionamento do Sistema}
2 2

3 3
Como delineado as tecnologias no capítulo anterior, aqui se apresenta a
4 4
arquitetura, demonstrando como todas as tecnologias apresentadas acima se
5 5
conectam e conversam entre si.
409 409
complementa, mas não substitui, a exportação integral: para uma visão
410 410
completa de todos os tipos de dado, o usuário ainda recorre ao
411 411
\textit{zip} de CSV.
412 412

413 413
\FloatBarrier
monografia/chapters/conclusion.tex → thesis/chapters/conclusion.tex
1 1
\chapter{Considerações Finais}
2 2

3 3
Este trabalho partiu de uma lacuna identificada na interseção entre o
4 4
autorregistro de humor e o cotidiano de pessoas com Transtorno Afetivo Bipolar:
5 5
embora o \textit{Ecological Momentary Assessment} ofereça um caminho
69 69

70 70
Além dessas, as lacunas apontadas na Seção~\ref{sec:test-gaps} --- como a
71 71
maquinaria da fila fora do alcance dos testes e a duplicação manual dos dados
72 72
de teste --- sugerem ajustes de menor porte, porém de impacto relevante na
73 73
manutenibilidade do projeto a médio prazo.
monografia/chapters/contextualization.tex → thesis/chapters/contextualization.tex
1 1
\chapter{Saúde e autocuidado mental no mundo digital}
2 2

3 3
% TODO: Move these refs into bibtex
4 4

5 5
No quesito de saúde mental, a bipolaridade ou pelo seu nome científico,
101 101
auxiliem o usuário na visualização de padrões e no desenvolvimento da
102 102
consciência sobre seu próprio estado afetivo. Ressalta-se que a aplicação
103 103
não possui finalidade diagnóstica nem substitui o acompanhamento realizado
104 104
por profissionais de saúde, sendo concebida como uma ferramenta de apoio
105 105
ao autorregistro e ao autocuidado.
monografia/chapters/design.tex → thesis/chapters/design.tex
1 1
\chapter{Design}
2 2

3 3
% TODO: Find citations
4 4

5 5
As decisões de design do sistema foram fundamentadas tanto na análise dos
258 258

259 259
Essa abordagem, contudo, foi descartada na versão final do aplicativo: o
260 260
gráfico com seletor de tipo de indicador foi removido, e a tela foi repaginada
261 261
para simplificar usando três tipos de indicadores automaticamente cálculados
262 262
pelo sistema, conforme detalhado no Capítulo~\ref{sec:insights}.
monografia/chapters/introduction.tex → thesis/chapters/introduction.tex
1 1
\chapter{Introdução}
2 2

3 3
O avanço da tecnologia digital tem transformado profundamente a forma como
4 4
indivíduos interagem com sua saúde mental, com seus hábitos cotidianos e com os
5 5
recursos disponíveis para o autocuidado. Em um cenário de sobrecarga de
40 40
e a modelagem do sistema. O Capítulo 5 trata do design visual e da estrutura de
41 41
navegação. O Capítulo 6 apresenta as tecnologias empregadas. O Capítulo 7
42 42
descreve a arquitetura e o funcionamento das principais funcionalidades. O
43 43
Capítulo 8 discute a estratégia de verificação adotada. Por fim, o Capítulo 9
44 44
apresenta as considerações finais e as melhorias futuras.
monografia/chapters/methodologies.tex → thesis/chapters/methodologies.tex
1 1
\chapter{Metodologias}
2 2
\label{chapter:methodologies}
3 3

4 4
Como primeiro passo, para conseguir viabilizar construir um \textit{software}
5 5
com qualidade, é necessário adotar metodologias que fundamentam a ideia e o
486 486
atenda a essas demandas, mas também adote princípios de transparência, abertura
487 487
e controle por parte do usuário. A seguir, serão discutidas as decisões de
488 488
projeto que nortearam a construção da ferramenta proposta, baseadas tanto nas
489 489
limitações identificadas nos sistemas existentes quanto nas necessidades e
490 490
expectativas manifestadas pelo público-alvo da pesquisa.
monografia/chapters/tech.tex → thesis/chapters/tech.tex
1 1
\chapter{Tecnologias}
2 2

3 3
Este capítulo apresenta as principais tecnologias empregadas no desenvolvimento
4 4
do aplicativo, organizadas de acordo com a camada da arquitetura em que atuam:
5 5
\textit{front-end}, \textit{back-end} e infraestrutura/persistência de dados.
451 451
ao documentar e automatizar o processo de provisionamento, o projeto
452 452
favorece um modelo mais alinhado aos princípios de privacidade e de
453 453
autonomia sobre os dados dos usuários, permitindo que instituições ou
454 454
indivíduos preocupados com a confidencialidade de dados sensíveis de
455 455
saúde mental hospedem e controlem sua própria instância da aplicação.
monografia/chapters/tests.tex → thesis/chapters/tests.tex
1 1
\chapter{Testes}\label{cap:testes}
2 2

3 3
Este capítulo registra como o comportamento do Nexo é verificado. Como nos
4 4
capítulos anteriores, o compromisso é com a honestidade: não se prescreve uma
5 5
estratégia ideal, mas se descreve o estado da prática, o que cada tipo de teste
323 323
dados de teste escritos à mão em cada arquivo e a cópia espelhada dos tipos da
324 324
API mantida no \textit{frontend} podem divergir da fonte de verdade sem que
325 325
nenhum teste acuse. Essas lacunas são assumidas de forma explícita e refletem
326 326
uma escolha de priorização, não uma garantia de ausência de defeitos, e que
327 327
podem ser corrigidas em incrementos no futuro.
monografia/extra/survey-results.tex → thesis/extra/survey-results.tex
1 1
Nesse apêndice estão contidas os dados referentes as respostas de maior
2 2
relevância para a implementação do sistema. Considerando principalmente
3 3
que ela possui o total de vinte perguntas.\footnote{
4 4
  Questão de múltipla escolha (respostas não somam 100\%). Apenas foi contabilizado os 29
5 5
  respondentes que relataram ter monitorado o humor de alguma forma.
375 375
\end{itemize}
376 376

377 377
Devido à natureza livre das respostas, esses dados foram normalizados
378 378
e removidos duplicatas ou elementos julgados nulos
379 379
(respostas como ``nada a acrescentar'', etc).
monografia/extra/use-cases/care-actions.tex → thesis/extra/use-cases/care-actions.tex
1 1
% UC07 --- Manter Ações de Cuidado
2 2

3 3
\begin{longtable}{| p{.40\textwidth} | p{.50\textwidth} |}
4 4
\hline
5 5

119 119
registro de tomada. \\
120 120

121 121
\hline
122 122

123 123
\end{longtable}
monografia/extra/use-cases/energy-sleep-correlation.tex → thesis/extra/use-cases/energy-sleep-correlation.tex
1 1
% UC09 --- Calcular Correlação Sono × Energia
2 2

3 3
\begin{longtable}{| p{.40\textwidth} | p{.50\textwidth} |}
4 4
\hline
5 5

65 65
&
66 66
O sistema mantém o indicador indisponível até que existam registros suficientes para o cálculo. \\
67 67
\hline
68 68

69 69
\end{longtable}
monografia/extra/use-cases/history.tex → thesis/extra/use-cases/history.tex
1 1
% UC08 --- Visualizar Histórico
2 2

3 3
\begin{longtable}{| p{.40\textwidth} | p{.50\textwidth} |}
4 4
\hline
5 5

98 98
&
99 99
2. O sistema informa que o período permitido para alteração foi encerrado. \\
100 100
\hline
101 101

102 102
\end{longtable}
monografia/extra/use-cases/login.tex → thesis/extra/use-cases/login.tex
1 1
\begin{longtable}{| p{.40\textwidth} | p{.50\textwidth} |}
2 2
\hline
3 3

4 4
\textbf{Nome do Caso de Uso} &
5 5
UC01 --- Login \\
88 88
&
89 89
2. O sistema apresenta mensagem de erro e solicita nova tentativa. \\
90 90
\hline
91 91

92 92
\end{longtable}
monografia/extra/use-cases/mood-entries.tex → thesis/extra/use-cases/mood-entries.tex
1 1
% UC03 --- Consultar registros de humor
2 2

3 3
\begin{longtable}{| p{.40\textwidth} | p{.50\textwidth} |}
4 4
\hline
5 5

67 67
&
68 68
O sistema apresenta uma mensagem informando que ainda não existem registros cadastrados.\\
69 69
\hline
70 70

71 71
\end{longtable}
monografia/extra/use-cases/mood.tex → thesis/extra/use-cases/mood.tex
1 1
% UC04 --- Manter humor
2 2

3 3
\begin{longtable}{| p{.40\textwidth} | p{.50\textwidth} |}
4 4
\hline
5 5

91 91
&
92 92
2. O sistema associa os gatilhos ao registro de humor. \\
93 93
\hline
94 94

95 95
\end{longtable}
monografia/extra/use-cases/register.tex → thesis/extra/use-cases/register.tex
1 1
% UC02 --- Registro
2 2

3 3
\begin{longtable}{| p{.40\textwidth} | p{.50\textwidth} |}
4 4
\hline
5 5

79 79
&
80 80
2. O sistema informa que já existe uma conta cadastrada.\\
81 81
\hline
82 82

83 83
\end{longtable}
monografia/extra/use-cases/sleep.tex → thesis/extra/use-cases/sleep.tex
1 1
% UC06 --- Manter Sono
2 2

3 3
\begin{longtable}{| p{.40\textwidth} | p{.50\textwidth} |}
4 4
\hline
5 5

73 73
A data do registro é obrigatória. \\
74 74
\cline{1-2}
75 75
\hline
76 76

77 77
\end{longtable}
monografia/extra/use-cases/trigger.tex → thesis/extra/use-cases/trigger.tex
1 1
% UC05 --- Manter Gatilhos
2 2

3 3
\begin{longtable}{| p{.40\textwidth} | p{.50\textwidth} |}
4 4
\hline
5 5

73 73
&
74 74
2. O sistema informa que o horário é inválido. \\
75 75
\hline
76 76

77 77
\end{longtable}
monografia/extra/usecases.tex → thesis/extra/usecases.tex
1 1
\input{extra/use-cases/login}
2 2
\input{extra/use-cases/register}
3 3
\input{extra/use-cases/mood-entries}
4 4
\input{extra/use-cases/mood}
5 5
\input{extra/use-cases/trigger}
6 6
\input{extra/use-cases/sleep}
7 7
\input{extra/use-cases/care-actions}
8 8
\input{extra/use-cases/history}
9 9
\input{extra/use-cases/energy-sleep-correlation}
monografia/images/arch-v2.png → thesis/images/arch-v2.png
monografia/images/arch.png → thesis/images/arch.png
monografia/images/baseline.webp → thesis/images/baseline.webp
monografia/images/casos-de-uso-2.png → thesis/images/casos-de-uso-2.png
monografia/images/casos-de-uso.png → thesis/images/casos-de-uso.png
monografia/images/classes-v2.png → thesis/images/classes-v2.png
monografia/images/dailybeans.png → thesis/images/dailybeans.png
monografia/images/dailymood.png → thesis/images/dailymood.png
monografia/images/daylio.png → thesis/images/daylio.png
monografia/images/diagrama-classes.png → thesis/images/diagrama-classes.png
monografia/images/emoods.png → thesis/images/emoods.png
monografia/images/if.pdf → thesis/images/if.pdf
monografia/images/kanban.png → thesis/images/kanban.png
monografia/images/logo.png → thesis/images/logo.png
monografia/images/palette.png → thesis/images/palette.png
monografia/images/pallete-small.png → thesis/images/pallete-small.png
monografia/images/ref-inter.png → thesis/images/ref-inter.png
monografia/images/reflectify.png → thesis/images/reflectify.png
monografia/images/screenshot-add-components.jpeg → thesis/images/screenshot-add-components.jpeg
monografia/images/screenshot-baseline.jpeg → thesis/images/screenshot-baseline.jpeg
monografia/images/screenshot-create-mood.jpeg → thesis/images/screenshot-create-mood.jpeg
monografia/images/screenshot-dailybeans.jpeg → thesis/images/screenshot-dailybeans.jpeg
monografia/images/screenshot-dailymood.jpeg → thesis/images/screenshot-dailymood.jpeg
monografia/images/screenshot-daylio.jpeg → thesis/images/screenshot-daylio.jpeg
monografia/images/screenshot-emoods.jpeg → thesis/images/screenshot-emoods.jpeg
monografia/images/screenshot-history.jpeg → thesis/images/screenshot-history.jpeg
monografia/images/screenshot-initial-page.jpeg → thesis/images/screenshot-initial-page.jpeg
monografia/images/screenshot-insights.jpeg → thesis/images/screenshot-insights.jpeg
monografia/images/screenshot-link-mood-assess-impact.jpeg → thesis/images/screenshot-link-mood-assess-impact.jpeg
monografia/images/screenshot-link-mood-with-trigger.jpeg → thesis/images/screenshot-link-mood-with-trigger.jpeg
monografia/images/screenshot-login.jpeg → thesis/images/screenshot-login.jpeg
monografia/images/screenshot-reflectly.jpeg → thesis/images/screenshot-reflectly.jpeg
monografia/images/screenshot-report-initial.png → thesis/images/screenshot-report-initial.png
monografia/images/screenshot-victorialogs.png → thesis/images/screenshot-victorialogs.png
monografia/images/tsi.png → thesis/images/tsi.png
monografia/images/typo.png → thesis/images/typo.png
monografia/images/use-cases.png → thesis/images/use-cases.png
monografia/images/wireframe-initial.png → thesis/images/wireframe-initial.png
monografia/images/wireframe-insights.png → thesis/images/wireframe-insights.png
monografia/images/xitsu.png → thesis/images/xitsu.png
monografia/monografia.bib → thesis/thesis.bib
1 1
@article{Iwaya:22,
2 2
  title={On the privacy of mental health apps},
3 3
  volume={28},
4 4
  DOI={10.1007/s10664-022-10236-0},
5 5
  number={1},
605 605
	titleaddon = {martinfowler.com},
606 606
	author = {Vocke, Ham},
607 607
  year={2012},
608 608
  note = {Acessado em 17 out. 2026}
609 609
}
monografia/monografia.pdf → /dev/null
Binary file
thesis/thesis.tex renamed+1 -1
monografia/monografia.tex → thesis/thesis.tex
1 1
\documentclass[tcc,capa,table]{textsi}
2 2

3 3
%\usepackage[brazilian]{babel} % Linguagem do documento: Português-brasileiro
4 4
\usepackage[utf8]{inputenc} % Codificação do arquivo .tex. IMPORTANTE: O arquivo deve ser salvo utilizando a codificação UTF-8 para mostrar corretamente os caracteres!
5 5
\usepackage[T1]{fontenc} % Permite que se faça cópia do texto do PDF de maneira correta, usando a codificação de fonte T1
207 207
\input{chapters/tech}
208 208
\input{chapters/architecture}
209 209
\input{chapters/tests}
210 210
\input{chapters/conclusion}
211 211

212 -
\bibliography{monografia}
212 +
\bibliography{thesis}
213 213
\bibliographystyle{abnt}
214 214

215 215
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
216 216

217 217
% NÃO MEXER - RELACIONADO À FORMATAÇÃO DE ANEXOS/APÊNDICES
234 234

235 235
% Adiciona um anexo
236 236
% \annex{Verão}
237 237

238 238
\end{document}
monografia/textsi.cls → thesis/textsi.cls
1 1
%==============================================================================
2 2
% Identificação
3 3
%==============================================================================
4 4
\def\currversion{3/5/2014}
5 5

1005 1005
  \clearpage%
1006 1006
  \mbox{}\vfill\begin{flushright}%
1007 1007
  }{%
1008 1008
  \end{flushright}%
1009 1009
}