thesis: replacing unicode em dashes and quotation marks on chapters
Pedro Lucas Porcellis porcellis@eletrotupi.com · 1 month ago
2b7634e425ac5cc49d8f2e2a9b3c3ee12f6a3bc0 Browse filesParents
2306fe8Changed files
4
Additions
+27
Deletions
-27
monografia/chapters/app.tex
1 1
\chapter{Nexo}
2 2
3 -
O aplicativo proposto por esse trabalho, denominado "Nexo", se propõe a ser uma
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
6 6
questões analisadas em outros sistemas similares. Como mencionado
7 7
anteriormente, o sistema é direcionado para pessoas com TAB, embora, ele também
8 8
possa atuar isoladamente como um aplicativo de registro de humor, e portanto, o
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
1 1
\chapter{Arquitetura e Elementos 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.
28 28
através de uma plataforma de terceiro, como Google ou Facebook.
29 29
30 30
Isso se dá, em especial, por dois motivos. Primeiro, o uso de uma tecnologia de
31 31
autenticação, como por exemplo, \textit{OAuth} \cite{Hardt:2012} exigiria uma
32 32
conexão com plataformas de terceiro, que poderiam então rastrear quais usuários
33 -
têm acesso a qual aplicativo -- algo que é fartamente documentado na literatura
33 +
têm acesso a qual aplicativo --- algo que é fartamente documentado na literatura
34 34
sobre os mecanismos usados por tais plataformas para rastrear e monitorar o
35 35
acesso a dados de usuários, com o fim de vender e monetizar essas informações.
36 36
37 37
Essa preocupação não é hipotética: um estudo que interceptou o tráfego de rede
38 38
de 36 dos aplicativos mais populares de saúde mental (depressão e cessação de
39 39
tabagismo) encontrou transmissão de dados a pelo menos um terceiro em 92\%
40 40
deles, sendo que 81\% enviavam dados especificamente a serviços operados por
41 -
Google ou Facebook -- e apenas 59\% desses casos declaravam esse
41 +
Google ou Facebook --- e apenas 59\% desses casos declaravam esse
42 42
compartilhamento em política de privacidade \cite{Huckvale2019}.
43 43
44 44
Um estudo posterior, focado exclusivamente em 27 aplicativos de saúde
45 45
mental mais populares da Google Play Store, confirmou o mesmo padrão e
46 46
o caracterizou formalmente como uma ameaça:
57 57
\cite[p.~3, tradução nossa]{Iwaya:22}
58 58
\end{quote}
59 59
60 60
Como os próprios autores resumem, a mera vinculação de um usuário a um
61 61
aplicativo de saúde mental já pode revelar que essa pessoa possui uma condição
62 -
psicológica -- seja ansiedade, depressão, ou, no caso de um aplicativo como o
63 -
Nexo, Transtorno Afetivo Bipolar --, tornando usuários desses aplicativos
62 +
psicológica --- seja ansiedade, depressão, ou, no caso de um aplicativo como o
63 +
Nexo, Transtorno Afetivo Bipolar ---, tornando usuários desses aplicativos
64 64
particularmente vulneráveis a esse tipo de exposição \cite{Iwaya:22}.
65 65
66 66
No caso do Nexo, essa cadeia de inferência é especialmente
67 67
sensível: a presença do aplicativo na lista de apps instalados de um usuário,
68 68
associada ao seu identificador publicitário, permitiria a uma plataforma como a
139 139
\label{fig:screenshot-consulta-humor}
140 140
\includegraphics[width=0.70\textwidth,height=0.60\textheight,keepaspectratio]{screenshot-create-mood.jpeg}
141 141
\source{Elaborado pelo autor (2026)}
142 142
\end{figure}
143 143
144 -
Naturalmente, é uma questão difícil de responder — e, como o próprio
144 +
Naturalmente, é uma questão difícil de responder --- e, como o próprio
145 145
aplicativo procura deixar claro, é importante que seja um momento
146 146
reflexivo, não necessariamente preciso.
147 147
148 148
O usuário pode adicionar uma anotação sobre aquele registro em
149 149
específico, padrão que se repete em outras telas do aplicativo.
165 165
\source{Elaborado pelo autor (2026)}
166 166
\end{figure}
167 167
168 168
Ao concluir esse processo e salvar, é apresentada ao usuário uma tela
169 169
de confirmação, na qual ele pode, opcionalmente, vincular o registro a
170 -
um gatilho específico — que pode ter ocorrido antes de ele salvar o
171 -
registro — ou criar um novo gatilho. O projeto novamente se ancora no
170 +
um gatilho específico --- que pode ter ocorrido antes de ele salvar o
171 +
registro --- ou criar um novo gatilho. O projeto novamente se ancora no
172 172
EMA, enriquecendo o registro de humor com mais contexto sobre o que
173 173
aconteceu.
174 174
175 175
\begin{figure}[H]
176 176
\centering
194 194
195 195
Por fim, vale mencionar que, após esse processo, é enfileirado
196 196
internamente um \textit{background job} que recalcula, sob demanda, o
197 197
indicador de energia daquele dia, apresentado na figura
198 198
\ref{fig:screenshot-consulta-registros}. Diferentemente deste, os
199 -
indicadores semanais — como a correlação entre sono e energia,
200 -
descrita na seção \ref{sec:insights} — não são recalculados a cada
199 +
indicadores semanais --- como a correlação entre sono e energia,
200 +
descrita na seção \ref{sec:insights} --- não são recalculados a cada
201 201
registro individual, sendo processados apenas pelo job semanal
202 202
agendado (seção \ref{sec:insights}).
203 203
204 204
\section{Indicadores}\label{sec:insights}
205 205
206 206
Nessa tela é apresentado um conjunto de indicadores construídos a partir
207 207
dos registros de humor, sono e gatilho do usuário. Diferente das demais
208 208
telas do aplicativo, que operam sobre dados em tempo real, os indicadores
209 209
são artefatos pré-computados: um \textit{worker} assíncrono (\textit{BullMQ})
210 210
percorre semanalmente todos os usuários ativos e enfileira, para cada
211 -
um, um conjunto de \textit{jobs} — um por tipo de indicador — que
211 +
um, um conjunto de \textit{jobs} --- um por tipo de indicador --- que
212 212
processam a janela dos últimos sete dias e persistem o resultado em uma
213 213
tabela dedicada. Vale notar que nem todos os indicadores seguem esse
214 214
fluxo agendado: os indicadores diários (energia e sono) são recalculados
215 215
sob demanda, no momento em que o usuário registra um novo humor ou
216 216
sessão de sono, enquanto os indicadores semanais dependem
240 240
como melhora, piora ou estabilidade a partir de uma margem de $\pm10\%$.
241 241
242 242
\item \textbf{Correlação entre sono e energia}: relaciona a duração
243 243
do sono de uma noite com o nível de energia relatado na manhã
244 244
seguinte, através do coeficiente de correlação de Pearson. Exige um
245 -
mínimo de observações pareadas para ser calculado — caso contrário,
245 +
mínimo de observações pareadas para ser calculado --- caso contrário,
246 246
o indicador simplesmente não é exibido.
247 247
248 248
\item \textbf{Padrão de gatilhos}: identifica a categoria de gatilho
249 249
mais frequente na semana e expressa sua predominância como percentual
250 250
do total de registros.
257 257
suficientes de ambos os tipos. Optou-se por não exibir uma correlação
258 258
calculada com poucos pontos, preferindo comunicar a ausência de dado a
259 259
apresentar um número pouco confiável.
260 260
261 261
O bloco maior no topo da tela, o ``Resumo Semanal'', condensa os
262 -
indicadores mais centrais — média de sono do período e um rótulo de
262 +
indicadores mais centrais --- média de sono do período e um rótulo de
263 263
humor (``Estável'', no exemplo). Esse rótulo, no entanto, é o elemento
264 264
mais delicado de toda a funcionalidade. Embora exista uma fórmula capaz
265 265
de produzir uma classificação de estabilidade a partir da variância dos
266 -
registros de humor, atribuir esse tipo de afirmação a um usuário —
266 +
registros de humor, atribuir esse tipo de afirmação a um usuário ---
267 267
especialmente em um aplicativo que é utilizado por pessoas com
268 268
Transtorno Afetivo Bipolar, para quem uma leitura equivocada de
269 -
``estabilidade'' pode mascarar justamente o início de um episódio —
269 +
``estabilidade'' pode mascarar justamente o início de um episódio ---
270 270
exige um embasamento mais cuidadoso do que uma regra estatística
271 271
simples. Por esse motivo, o rótulo apresentado nesta versão do
272 272
aplicativo é estático (não deriva de fato do cálculo de estabilidade) e
273 273
a funcionalidade pode ser inteiramente desabilitada pelo usuário nas
274 274
configurações. A decisão de manter ou não uma afirmação automatizada
323 323
para exibição, conforme visto na figura \ref{fig:screenshot-history}, nos
324 324
cabeçalhos ``terça-feira, 14 de julho'' e ``segunda-feira, 13 de julho''.
325 325
Essa unificação é proposital: ao invés de apresentar quatro telas
326 326
separadas por tipo de dado, o histórico busca reconstruir uma narrativa
327 327
única do dia do usuário, aproximando-se do princípio de \textit{Ecological
328 -
Momentary Assessment} já mencionado anteriormente — o contexto de um
328 +
Momentary Assessment} já mencionado anteriormente --- o contexto de um
329 329
registro de humor (por exemplo, o gatilho ``Interno'' registrado três
330 330
minutos antes, na mesma figura) fica visualmente próximo do evento que
331 331
possivelmente o motivou.
332 332
333 333
A propriedade \texttt{raw} armazena o dado original, permitindo que a
338 338
registro de humor, destaca a dimensão mais relevante daquele registro
339 339
(como ``Ansiedade alta'' na figura \ref{fig:screenshot-history}); para um
340 340
gatilho, indica sua categoria, e assim por diante.
341 341
342 342
\FloatBarrier
monografia/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
40 40
destaque para os modelos de desenvolvimento de \textit{software} sequenciais e
41 41
incrementais que moldam boa parte das práticas de engenharia de
42 42
\textit{software} nas últimas décadas.
43 43
44 44
O modelo em cascata (\textit{waterfall}) é um modelo sequencial, dos mais
45 -
tradicionais e antigos a existirem, cujo qual necessita que cada etapa --
46 -
levantamento de requisitos, projeto, implementação, testes -- estejam
45 +
tradicionais e antigos a existirem, cujo qual necessita que cada etapa ---
46 +
levantamento de requisitos, projeto, implementação, testes --- estejam
47 47
concluídas antes da próxima etapa começar. Embora forneça uma estrutura rígida
48 48
e lógica, é frequentemente criticado pela baixa adaptabilidade em relação às
49 49
mudanças durante o processo de desenvolvimento.
50 50
51 51
Em outro âmbito, o modelo incremental, trabalha com a premissa de que um
69 69
burocráticos e em um projeto com um escopo de equipe reduzida e onde necessita
70 70
um nível de flexibilidade maior, como este, portanto, uma adoção de uma
71 71
metodologia mais flexível se faz necessária.
72 72
73 73
Pressman, comenta que, por meados de 2001, um grupo de desenvolvedores
74 -
deflagrou o "Manifesto Ágil", um documento desenhando uma nova metodologia de
74 +
deflagrou o ``Manifesto Ágil'', um documento desenhando uma nova metodologia de
75 75
desenvolvimento, destacando a satisfação dos patrocinadores do sistema,
76 76
entregas mais rápidas, flexibilidade durante o desenvolvimento do
77 77
\textit{software} de forma a evitar que os desenvolvedores ficassem empacados e
78 78
reduzissem rigidez. Os principais destaques da abordagem ágil é a proposta de
79 79
que a mesma não é escrita em pedra, ou seja, permite flexibilidade no como
154 154
resultado relevante: 53\% dos participantes afirmaram já ter, em algum momento
155 155
da vida, realizado algum tipo de monitoramento de humor.
156 156
157 157
Em outros horizontes, mais da metade dos participantes expressou interesse em
158 158
acompanhar como o humor varia ao longo do tempo, muitas vezes com sugestões
159 -
explícitas como: “Seria legal ver um gráfico semanal ou mensal do meu humor”.
159 +
explícitas como: ``Seria legal ver um gráfico semanal ou mensal do meu humor''.
160 160
Tal observação reforça a receptividade dos participantes em relação à ideia de
161 161
detecção de padrões emocionais, sugerindo que esse tipo de funcionalidade
162 162
representa um diferencial positivo frente aos aplicativos existentes.
163 163
164 164
É notável que os participantes demonstram uma preocupação recorrente com a
193 193
realizar uma revisão crítica-reflexiva, analisando os aplicativos que oferecem
194 194
algum tipo de diário digital de humor, ou permite algum acompanhamento
195 195
reflexivo de variações de emoções.
196 196
197 197
Para realizar esse processo, de forma a simular também um usuário, foi
198 -
pesquisado na Google Play Store \footnote{Google Play Store — Disponível em:
198 +
pesquisado na Google Play Store \footnote{Google Play Store --- Disponível em:
199 199
https://play.google.com}, por \textit{mood tracker}, retornando centenas de
200 200
resultados. Nesse quesito, estabeleceu os seguintes critérios objetivos: (1)
201 201
pode ser um aplicativo em português ou inglês; (2) o aplicativo tem que
202 202
apresentar algum tipo de gráfico das entradas feitas (3) tem que possuir
203 203
entrada textual.
234 234
disponíveis atualmente, possuindo como principal característica a simplicidade
235 235
de uso. Nota-se que possui uma linguagem bem lúdica e informal, por exemplo, o
236 236
sistema utiliza o conceito de ``feijões'' representando o estado de humor do
237 237
usuário. Destaca-se que o aplicativo permite selecionar categorias de
238 238
sentimentos e adicionar atividades para preencher melhor o registro do estado
239 -
emocional do usuário para além de um "Feliz", "Triste", etc. Existe também uma
239 +
emocional do usuário para além de um ``Feliz'', ``Triste'', etc. Existe também uma
240 240
bastante vasta opções de categorias, cada qual com uma ilustração que
241 -
representa o que aquilo representa. O aplicativo também apresenta "Temas
242 -
sazonais", permitindo que o usuário customize cores, icones, e demais
241 +
representa o que aquilo representa. O aplicativo também apresenta ``Temas
242 +
sazonais'', permitindo que o usuário customize cores, icones, e demais
243 243
informações. Um elemento interssante é que as informações adicionadas também
244 244
podem ser \textit{offlines}, até uma certa quantidade de entradas/registros,
245 245
necessitando de uma conta para poder continuar salvando os dados informados.
246 246
247 247
\begin{figure}[H]
393 393
grande maioria, são sistemas comerciais. A maior parte dos sistemas também
394 394
oferecem algum aspecto de pagamento, bloqueando funcionalidades importantes
395 395
atrás de algum tipo de modelo de subscrição. Existe também o fato de
396 396
personalização e de exportação de dados, que poucos ou nenhum sistema oferece,
397 397
o que faz com que o sistema não tenha portabilidade dos dados inseridos,
398 -
criando assim, um \textit{walled garden}, ou um jardim fechado -- uma técnica de
398 +
criando assim, um \textit{walled garden}, ou um jardim fechado --- uma técnica de
399 399
fazer com que o usuário não consiga migrar entre sistemas, prendendo-o a usar
400 400
aquela aplicação já que seus dados estão lá.
401 401
402 402
\subsection{Relação entre os dados do questionário e análise de similares}
403 403
418 418
atenda a essas demandas, mas também adote princípios de transparência, abertura
419 419
e controle por parte do usuário. A seguir, serão discutidas as decisões de
420 420
projeto que nortearam a construção da ferramenta proposta, baseadas tanto nas
421 421
limitações identificadas nos sistemas existentes quanto nas necessidades e
422 422
expectativas manifestadas pelo público-alvo da pesquisa.
monografia/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.
115 115
116 116
Aqui, é possível observar alguns elementos, como a extração direta dos
117 117
\textit{enums} mapeados pelo Prisma, citado anteriormente nas linhas 1--5. Em
118 118
seguida, são criados os \textit{schemas} de validação: um valida os componentes
119 119
de humor de forma aninhada dentro do objeto recebido, e o outro valida os dados
120 -
do próprio registro -- os níveis aceitos de ansiedade, estresse e energia; a
120 +
do próprio registro --- os níveis aceitos de ansiedade, estresse e energia; a
121 121
conversão do campo \texttt{moment} para um objeto de data a partir da entrada
122 122
recebida; a exigência de ao menos um componente de humor selecionado; entre
123 123
outros. Por fim, esses dados são exportados como um \textit{type} do
124 124
TypeScript, usado pelo compilador para a verificação estática de tipos no
125 125
restante do back-end.
209 209
210 210
Docker é uma plataforma de conteinerização que permite empacotar uma
211 211
aplicação e suas dependências em uma unidade isolada e portátil, capaz de ser
212 212
executada de forma consistente em diferentes ambientes \citep{docker:2026}. O
213 213
Docker Compose é uma ferramenta complementar que permite definir e orquestrar
214 -
múltiplos contêineres -- e as relações entre eles -- por meio de um único
214 +
múltiplos contêineres --- e as relações entre eles --- por meio de um único
215 215
arquivo de configuração declarativo \citep{dockercompose:2026}.
216 216
217 217
No projeto, o Docker Compose é utilizado tanto no ambiente de desenvolvimento
218 218
quanto no ambiente de produção para orquestrar os serviços de banco de dados
219 219
(PostgreSQL), armazenamento em memória (Valkey) e da própria API, garantindo
322 322
ao documentar e automatizar o processo de provisionamento, o projeto
323 323
favorece um modelo mais alinhado aos princípios de privacidade e de
324 324
autonomia sobre os dados dos usuários, permitindo que instituições ou
325 325
indivíduos preocupados com a confidencialidade de dados sensíveis de
326 326
saúde mental hospedem e controlem sua própria instância da aplicação.