Tecnologias
Frontend
| Tecnologia | Versão | Finalidade |
|---|---|---|
| React | 19 | Biblioteca de UI e componentização |
| Vite | 8 | Bundler e servidor de desenvolvimento |
| React Router DOM | 7 | Roteamento da SPA |
| CSS puro | — | Estilização com custom properties |
| Socket.io Client | 4 | Comunicação em tempo real via WebSockets |
Backend
| Tecnologia | Versão | Finalidade |
|---|---|---|
| Node.js | 22 | Ambiente de execução |
| Express | 5 | Servidor HTTP e roteamento |
| MySQL | 8 | Banco de dados relacional |
| mysql2 | 3 | Driver com pool de conexões e prepared statements |
| jsonwebtoken | 9 | Emissão e verificação de JWT |
| bcrypt | 6 | Hash de senha com 12 salt rounds |
| uuid | 14 | Geração de identificadores UUID v7 |
| multer | 2 | Interpretação de requisições multipart/form-data |
| cloudinary | 2 | Armazenamento e entrega de imagens |
| resend | 6 | Envio de e-mail transacional por API HTTP |
| socket.io | 4 | Comunicação em tempo real via WebSockets |
| swagger-jsdoc | 6 | Geração da especificação OpenAPI a partir do código |
| swagger-ui-express | 5 | Interface de exploração da API |
| Jest / Supertest | 30 / 7 | Testes unitários e de integração |
Documentação
| Tecnologia | Finalidade |
|---|---|
| Docusaurus | Geração do site de documentação |
Qualidade
| Tecnologia | Finalidade |
|---|---|
| oxlint | Linting do código JavaScript |
Deploy
| Serviço | Finalidade |
|---|---|
| GitHub Pages | Hospedagem do frontend e da documentação |
| Railway | Hospedagem da API e do banco de dados |
| Cloudinary | Armazenamento das fotos de perfil |
| Resend | Entrega dos e-mails de código de verificação |
| Registro.br | Domínio blabry.com.br, usado como remetente autenticado |
| gh-pages | Automação do deploy |
O domínio existe por causa do e-mail, e não do site. Um remetente em domínio
de terceiros não pode publicar SPF e DKIM próprios, e sem eles a mensagem
chega marcada como não autenticada — quando chega. blabry.com.br foi
registrado e delegado ao Resend por três registros DNS: o CNAME de DKIM, o
de retorno (bounce) e o de rastreio.