Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@ resources/

# Editor
.vscode/

# Obsidian plugin
.obsidian/*

6 changes: 6 additions & 0 deletions .mdl_style.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,9 @@
# Prefere numeração sequencial (1. 2. 3.) em vez do padrão do mdl (1. 1. 1.).
rule "MD029", :style => :ordered

# Título em forma de pergunta é conteúdo legítimo em pt-BR (ex.: "O que é
# Dev Teste?") — o padrão do mdl inclui "?" como pontuação de título a
# evitar, o que soaria estranho removido. Mantém apenas ".,;:!" como
# pontuação acidental de fato.
rule "MD026", :punctuation => ".,;:!"

7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,13 @@ bundle install
bundle exec mdl content README.md
```

O `mdl` só aponta os problemas, não corrige. Pra corrigir automaticamente o que dá pra
corrigir sem risco (ver `scripts/fix_markdown.rb` pra saber exatamente o quê):

```bash
bundle exec ruby scripts/fix_markdown.rb
```

## Changelog e releases

O `CHANGELOG.md` (formato [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)) é gerado
Expand Down
15 changes: 14 additions & 1 deletion content/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,17 @@ title: About
type: about
---

This is the about page.
About this Blog!

Olá, me chamo Kellen, e meu objetivo com este blog, é te-lo como uma memória
para guardar minhas notas, no futuro ter para consulta-las, relembrar de algum tutorial
de instalação, alguma ferramenta, como eu utilizei na época em que escrevi, voltar nas notas
atualizar, com updates e aprendizados. Também melhorar minha escrita e treinar escrever, fazer explicações
e desenvolver melhor a escrita.

Este blog não é um tutorial supremo ou fonte da verdade, sempre vou citar as referencias aqui que busquei.
Fique a vontade de abrir uma [Issues aqui](https://github.com/kellen-xavier/ladydebug.github.io/issues) e citar algum erro.

Fique a vontade para copiar o template como referência.
Segue meus incentivos de blogs: [tecnologia](https://akitaonrails.com/) e [blog que eu lia quando tinha 15 anos](https://www.depoisdosquinze.com/) onde acompanho a algum tempo e ocorreu a vontade (e necessidade) de criar o meu.
O template que peguei pode ser encontrado [aqui](https://themes.gohugo.io/)
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: "Pesquisa de Sites | Mercado com foco em Academias"
date: 2025-04-17
slug: pesquisa-de-sites-mercado-foco-em-academias
tags: [pesquisa, ux, design]
draft: false
---

### Estudos e Análise Geral de Sites de Academias de Atividades Físicas

Essa breve pesquisa foi realizada para um protótipo de site no nicho de academias, com o objetivo de divulgar um estúdio de academia, focado em objetivos pessoais, voltado a pessoas que não gostam de academias lotadas e sem atenção de instrutores, priorizando a pessoalidade no atendimento.

---

**1. Padrão dos sites de academias:**

Normalmente, sites de academias são construídos com foco em três grandes pilares:

- **Apresentação de serviços:** mostrar os tipos de treinos (musculação, funcional, spinning, pilates, yoga etc.).
- **Captação de novos alunos:** destacar promoções, planos, aulas experimentais e formulários rápidos de contato.
- **Prova social:** exibir fotos reais, depoimentos de alunos e resultados alcançados.

**2. Estrutura comum que aparece nesses sites:**

- **Página inicial chamativa:** com imagens de pessoas treinando, mensagens motivacionais, e destaque para diferenciais da academia (24h, avaliação física grátis, estacionamento, etc.).
- **Planos e preços:** muita gente procura rapidamente o valor da mensalidade — alguns sites mostram, outros obrigam o usuário a preencher um formulário primeiro (o que pode gerar abandono).
- **Agenda de aulas coletivas:** algumas academias disponibilizam a programação semanal de aulas no próprio site.
- **Localização:** um mapa integrado (Google Maps) é quase obrigatório, já que localização é fator decisivo.
- **Área do aluno:** alguns sites mais modernos oferecem login para alunos acompanharem treinos, pagamentos e evolução física.
- **Blog ou dicas de saúde:** pouco usado, mas quando existe, ajuda no SEO (atrair mais visitantes via Google).
- **Chat ou WhatsApp direto:** muitos sites têm botões flutuantes para contato rápido via WhatsApp.

**3. Comportamento de quem procura sites de academias:**

- **Busca por praticidade:** as pessoas querem informações rápidas. Sites lentos ou com excesso de formulários perdem usuários.
- **Comparação:** é comum o usuário abrir vários sites de academias próximas para comparar preços, estrutura e diferenciais.
- **Busca por credibilidade:** fotos de qualidade, estrutura física mostrada e depoimentos reais aumentam a confiança.
- **Interesse em benefícios imediatos:** promoções de matrícula grátis, descontos na primeira mensalidade ou aula experimental gratuita costumam ser gatilhos decisivos.

**4. SEO e tráfego:**

- Boa parte das buscas vem de palavras-chave locais, como "**academia em [nome da cidade/bairro]**" ou "**academia perto de mim**".
- Sites otimizados para essas buscas locais têm muito mais chances de serem encontrados organicamente (sem precisar pagar anúncios).

**5. Design e tendências atuais:**

- Visual clean e moderno (nada poluído).
- Vídeos curtos na homepage mostrando o ambiente.
- Integração com redes sociais (principalmente Instagram).
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
---
title: "Quais ferramentas que estudamos você já experimentou e quais pretende experimentar para promover a inovação em seu ambiente de desenvolvimento de software?"
date: 2025-04-24
slug: promover-a-inovacao-em-seu-ambiente-de-desenvolvimento-de-software
tags: [design-thinking, ux, inovacao]
draft: false
---

Eu estou aplicando o estudo com a estúdio de musculação que frequento, aqui na Zona Norte de Porto Alegre. Solicitei permissão ao dono da academia — que está iniciando o negócio desde janeiro de 2025 — para aplicar estes estudos e desenvolver um projeto em um negócio real, baseado em necessidades reais.

---

**O projeto seria**: criar uma landing page para o estúdio, aplicando as técnicas de Design Thinking e os estudos vistos em aula de Inovação e Empreendedorismo — Inovação e Empreendedorismo - Web 03.

**Início do projeto:** acompanhei a abertura do estúdio de musculação desde janeiro de 2025, e, desde então, fui a aluna — junto com outro amigo próximo — a treinar no novo local. Primeira coisa que perguntei ao dono foi: como vai funcionar a academia? Vai ter horários flexíveis? Quem vai treinar no local?

Visando isso, procurei entender melhor, conversando com o dono do negócio — Academia Estúdio de Musculação — e levantei essas perguntas. Outro ponto em destaque é que eu treino lá desde o início — por conhecer o dono, fui a aluna-teste do local 😂 — o que acabou agregando ao projeto, pois tive pessoalmente a visão de alguns pontos importantes.

### 1. Empatia (entender o problema sob o ponto de vista do usuário)

Como sou usuária da academia, enfrentei alguns problemas, como: quais são os valores? Como funcionam os pacotes com acompanhamento nutricional? Há parceria com lojas de suplementos? Quanto custa o whey protein? Entre outros. Percebi que os alunos que vieram depois também tinham essas dúvidas. Quando fui recomendar a academia, também tive dificuldades para compartilhar o endereço e informar os valores de cabeça — sabia apenas o que utilizava, no caso o TotalPass. Não havia um local centralizado para consultar essas informações.

### 2. Definição (refinar o problema)

Com base nisso, organizei todas as informações que tinha em mãos e conversei com o dono do negócio para entender e refinar as questões. Utilizando técnicas de design thinking, apliquei o **Value Proposition Canvas** para não deixar tudo apenas dentro da minha cabeça e também compartilhar com o envolvido — o dono do negócio. Segue abaixo:

![Value Proposition Canvas](value-proposition-canvas.png)

![Value Proposition Canvas aplicado ao projeto do estúdio](aplicado-value-proposition-canvas.png)

Utilizei também o ChatGPT para estruturar de forma detalhada e organizar todas as informações nos devidos lugares, a fim de não perder o foco nos detalhes.

### ChatGPT

![Uso do ChatGPT para organizar as informações](chatgpt-1.png)

Abaixo, utilizei como um checklist das informações que já havia mapeado, para manter a organização e não me perder no processo:

![Checklist de informações mapeadas](checklist.png)

Para tornar a entrevista mais clara, resolvi criar um formulário para enviar ao dono do negócio responder; **isso corresponde às "Definições" citadas e aplicadas aqui.**

---

### 3. Ideação

Visto acima no ChatGPT temos o seguinte:

![ChatGPT na fase de ideação](chatgpt-ideacao.png)

Vou mudar alguns pontos que acho importante reorganizar com base nas necessidades vistas lá no mapeamento com o **Value Proposition Canvas**.

Brainstorm para soluções da Landing Page: EDITADA

- Blocos organizados: Quem somos | Planos Diferenciais | Estrutura | Agendamento - Contato | FAQ
- Botão direto para WhatsApp
- Fotos do ambiente com qualidade - passando credibilidade
- Chamada de Ação: destaque no diferencial do negócio, avaliação gratuita física.
- FAQ rápido com as dúvidas levantadas pelos novos usuários (isso vai ser coletado no formulário).

---

### 4. Prototipagem

![Prototipagem inicial](prototipagem-1.png)

Eu sou péssima com Design 😭 **então utilizei a ferramenta do Canva para dar vida** a isso, e não deixar isso ser meu impedimento.

**OBS**: vamos relembrar brevemente da aula ao vivo sobre "legal, vamos lá fazer isso"

![Aula ao vivo sobre prototipagem](prototipagem-2.png)

EU não sei design

![Tentativa de prototipagem no Canva](prototipagem-3.png)

---

## 5. O Teste

Criação do protótipo: como citado, este protótipo foi feito no Canva, com o objetivo de tornar visual todo o planejamento do Value Proposition Canvas. Abaixo, segue a sequência das telas:

![Tela 1 do protótipo](teste-prototipo-1.png)

![Tela 2 do protótipo](teste-prototipo-2.png)

Incluir parte dos serviços que falta para responder do formulário.

![Tela 3 do protótipo](teste-prototipo-3.png)

![Tela 4 do protótipo](teste-prototipo-4.png)

![Tela 5 do protótipo](teste-prototipo-5.png)

![Tela 6 do protótipo](teste-prototipo-6.png)

Foi desenvolvido este rascunho inicial do protótipo, com o objetivo de validar as necessidades do proprietário do negócio em relação ao atendimento de seus clientes.

A construção do protótipo possibilitou a identificação de pontos relevantes e, sobretudo, representou um avanço significativo ao transformar ideias em uma versão prática e visual. O processo de desenvolvimento mostrou-se ágil e funcional, permitindo direcionar os próximos passos.

Como continuidade, propõe-se a realização de novos testes com usuários e a execução do site em ambiente real, a fim de avaliar se as funcionalidades implementadas atendem às necessidades previamente mapeadas.

**Protótipo Canva**: [link](https://testeladybug.my.canva.site/cada-rotina-e-pessoa-diferente-por-isso-nos-certificamos-de-que-voc-possa-escolher-um-plano-que-funcione-melhor-para-voc)

---

## Pesquisa em Formulário para melhor análise e entendimento

# 2. Questionário baseado no Design Thinking

(Para usar na fase **Empatia + Definição** com o cliente)

## Perguntas sobre o Negócio

1. Como você descreveria a missão e os valores do seu estúdio?
2. Qual a principal diferença do seu estúdio para outras academias?
3. Quais serviços ou vantagens você mais gostaria de destacar para novos alunos?
4. Qual sentimento ou impressão você gostaria que o aluno tivesse ao visitar o estúdio?

## Perguntas sobre os Clientes

1. Quem são seus principais clientes hoje? (idade, perfil, objetivos)
2. O que seus alunos costumam elogiar mais no seu serviço?
3. **Quais dúvidas ou receios os novos alunos mais demonstram quando entram em contato?**
4. O que já ouviu de feedback positivo ou negativo sobre a experiência na academia?

## Perguntas sobre Comunicação

1. Hoje, quais canais você usa para divulgar seu estúdio? (Instagram, WhatsApp, indicações, etc.)

## Perguntas sobre Serviços Extras

1. Como funciona a parceria com a nutricionista? (valores, agendamento, diferenciais)
2. Como funciona a parceria com suplementos? (marcas, descontos, vantagens)

## Perguntas sobre Experiência

1. Que tipo de benefícios você gostaria de oferecer para novos alunos? (promoções, aula experimental, desconto na 1ª mensalidade)

---

## Links de Referência

**Confira o Protótipo do site**: [https://site-academia-app.vercel.app/](https://site-academia-app.vercel.app/)

Pesquisa de Sites | Mercado com foco em Academias - [Link](/docs/2025/abril/pesquisa-de-sites-mercado-foco-em-academias/)

**Referências de Estudos**:

- **Link** sobre qualidade do produto - Rian Dutra: [LinkedIn](https://www.linkedin.com/posts/riandutra_prestes-a-falir-cortam-o-design-e-marketing-activity-7315692085477539840-InMr)
- Livro: Não me faça pensar - Steve Krug
- Livro: O Design do dia a dia - Donald A. Norman
- Livro: Value Proposition Design - pág: 142, 228, 232
- Pós-graduação Unisinos - Aulas Inovação e Empreendedorismo com a [Profª Rosemary Francisco](https://www.linkedin.com/in/rmaryf)
- Ferramentas: [Canva](https://www.canva.com/), Vercel App para deploy do site
- [Como identificar e resolver pontos de dor (pain points) do usuário no UX Design](https://psicologia.design/como-identificar-e-resolver-pontos-de-dor-user-pain-points-do-usuario-no-ux-design-com-psicologia-aplicada/)
- [Como usar storytelling no UX Design](https://psicologia.design/como-usar-storytelling-no-ux-design/)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
title: "Fórum | Adoção de Princípios de Design e Arquitetura"
date: 2025-06-10
slug: adocao-de-principios-de-design-e-arquitetura
tags: [arquitetura, design, qualidade]
draft: true
---

Trabalho - Pós-graduação | Projeto e Arquitetura de Software

### Neste módulo, foram apresentados alguns princípios de design e umas implicações na manutenção e evolução de software. Quais desses princípios discutidos vocês já usam? Identifique os benefícios e dificuldades dessas adoções

---

Com base no que foi visto em aula, algumas das coisas que costumo aplicar no dia a dia do meu trabalho, que é na área da qualidade. Várias coisas, quando não existem no projeto, acabo iniciando a conversa no time. Então varia bastante, conforme a cultura do time. Quando chego no projeto, faço uma análise geral do desenvolvimento do time no projeto. Então o passo inicial é aplicar conforme a necessidade, compartilhando a cultura de testes nos times.

Algumas práticas seriam aplicar o uso de *linters* nos projetos, adicionar essas regras na CI, aplicar CI/CD também quando o projeto não tem. Os **lints automáticos** bloqueiam *pushes* com esses problemas de formatação ou más práticas, e o time acaba evitando diversos erros antes mesmo de mesclar a *branch* ou **executar o código**.

Dentro do time, sempre busco analisar automação de testes com o time e documentar o projeto com o uso das próprias ferramentas do time, por exemplo: Javadocs, PHPDocs — <https://phpstan.org/writing-php-code/phpdocs-basics>.

Compartilho ferramentas e *plugins* para IDEs, analiso processos básicos. Segue um exemplo que já compartilhei: a pirâmide de testes para dev e, aqui com o time de QA, exemplos de configuração do Testing Library.

Já apliquei testes de API, que acredito que estejam agora voltados à "**Observabilidade**", que seria **a capacidade de entender o que está acontecendo dentro de um sistema apenas com base em sua saída externa**. Geralmente, nas análises, faço um plano de testes e levantamento de cenários de testes. Compartilho com o time para que sejam aplicados os testes. Com base nisso, por exemplo, na API, utilizei a ferramenta do K6 (<https://k6.io/>) e o Grafana (<https://grafana.com/docs/k6/latest/>). Assim, era criada a automação com base nos cenários, executávamos os testes, e isso era validado dentro de uma *pipeline*, no próprio GitHub Actions.

### Exemplo com K6

```javascript
import http from 'k6/http';
import { check, sleep } from 'k6';

export let options = {
vus: 10, // Número de usuários virtuais simultâneos
duration: '10s', // Duração do teste
};

export default function () {
// Realizando a requisição de pagamento com cartão de crédito
const token = login(`${__ENV.USERNAME}`, `${__ENV.PASSWORD}`);

const data = {
cardToken: "meio-de-buscar-token-exemplo",
providerMeioDePagamento: "um-code-que-defina-seu-meio-de-pagamento-exemplo"
};

const responseToken = http.post(
`${__ENV.SERVER}/seu/caminho/token-credit`,
JSON.stringify(data),
{
headers: {
'Autorization': `Bearer ${token}`,
'content-type': "application/json",
'accept': "application/json",
},
},
);

check(responseToken, {
'Defina uma mensagem aqui para o exemplo - identificando pagamento bem-sucedido': (response) => response.status === 200
});

let response = http.post('https://sua_loja.com/processar_pagamento', {
cartao_credito: numeroCartao,
produto_id: produtoID,
parcelas: numParcelas
});

// Verificando requisição bem sucedida (código de status 200)
check(response, {
'Defina uma mensagem aqui para o exemplo - Pagamento bem-sucedido': (response) => response.status === 200
});

// Aguardando período de tempo para simular a navegação do usuário
sleep(3);
}
```

Hoje em dia, usar linters facilita bastante, pois evita essa "reação em cadeia" de más práticas dentro do projeto. Ao mudar a forma de como fazer, o linter faz o *scanner* no código e te faz pensar em como evitar acoplamento ou funções muito grandes — grandes o suficiente para que se perca o entendimento do que elas fazem, e sem validações. Mas ainda, como apresentar isso de forma gradual, os conceitos para aplicar no desenvolvimento, precisa de bastante conversa e cultura com o pessoal.

---

### Fontes de Estudos - Pesquisa

**Livros:**

- Manual do Arquiteto de Software | Discutindo conceitos, **técnicas, tecnologias, padrões e procedimentos** para a boa prática de arquitetura de software. → Link [Aqui](https://elemarjr.com/livros/arquiteturadesoftware/volume-1/)
- Engenharia de Software Moderna — <https://engsoftmoderna.info/>
40 changes: 40 additions & 0 deletions content/docs/2025/junho/api-estudos.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: "API | Estudos"
date: 2025-06-13
slug: api-estudos
tags: [api, java, boas-praticas]
draft: true
---

### Estudos, construindo uma API básica

---

**Referências | Padronização de Projetos | Estruturas Design**

- <https://www.oracle.com/java/technologies/javase/codeconventions-namingconventions.html>
- <https://google.github.io/styleguide/javaguide.html#s5.2.1-package-names>

---

**Exemplos de nomes corretos por pasta** ♻️

<table>
<tr><td>**Pasta**</td><td>**Exemplo de Arquivo**</td></tr>
<tr><td>model</td><td>Fornecedor.java</td></tr>
<tr><td>dto</td><td>FornecedorDTO.java</td></tr>
<tr><td>repository</td><td>FornecedorRepository.java</td></tr>
<tr><td>service</td><td>FornecedorService.java</td></tr>
<tr><td>controller</td><td>FornecedorController.java</td></tr>
<tr><td>util</td><td>JsonUtil.java</td></tr>
</table>

---

**Referências:**

[console.cloud.google.com](https://console.cloud.google.com/apis/credentials?inv=1&invt=Ab0Hnw&project=neural-pattern-272200)
[Google Cloud console](https://console.cloud.google.com/marketplace/product/google/youtube.googleapis.com?q=search&referrer=search&inv=1&invt=Ab0GSw&project=fora-da-caixa-0001)
[YouTube Data API | Google for Developers](https://developers.google.com/youtube/v3?hl=pt-br)
[Guia de início rápido do Java | YouTube Data API | Google for Developers](https://developers.google.com/youtube/v3/quickstart/java?hl=pt-br)
[start.spring.io](https://start.spring.io/)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading