Pular para o conteúdo
Vitor Dal Mora
Todos os projetos

Hackathon2024

ConectaSul

Plataforma web que conecta voluntários a ONGs do Rio Grande do Sul, criada em equipe num hackathon nacional de dois dias, em que ficamos em 6º lugar.

6º lugar entre as equipes do hackathon nacional

Tipo
Hackathon
Período
2024
Status
Concluído
Papel
Em equipe

Ferramentas

  • Node.js
  • Express
  • Prisma
  • SQLite
  • JavaScript
Página inicial do ConectaSul, com uma foto de área alagada no Rio Grande do Sul e a frase "Conecte-se com ações locais para um mundo melhor"

O problema

Nos dias finais de abril de 2024, as chuvas e enchentes atingiram a maior parte dos municípios gaúchos. Muita gente queria ajudar, e muitas ONGs precisavam de ajuda, mas faltava um lugar simples que ligasse uma ponta à outra. O ConectaSul nasceu desse problema, num hackathon nacional de dois dias.

O que a plataforma faz

  • Para voluntários: uma lista de ONGs cadastradas com o local e o nível de necessidade de cada uma (nenhuma, baixa, média ou alta). Ao escolher uma ONG, a pessoa vê os dados dela e como doar, inclusive por Pix.
  • Para ONGs: um cadastro com nome, contato, endereço, chave Pix e urgência da necessidade.
  • Contexto: uma página que explica a situação atual no estado.
  • Contas: cadastro e login de voluntários, com uma página de perfil.

A lista de ONGs é gerada no servidor a partir do banco de dados a cada visita, então uma ONG recém-cadastrada aparece sem mudar o código.

Como foi feito

Sem framework de interface: o servidor é Node.js com Express, as páginas são HTML, CSS e JavaScript puros e o banco é SQLite, acessado pelo Prisma. A aplicação está no ar na Railway.

Depois do evento, o projeto continuou recebendo correções. Uma delas aconteceu depois do deploy: o cadastro de contas parou de funcionar porque a função de criptografia que o código usava, createCipher, foi removida do Node a partir da versão 22. A correção foi trocá-la pela createCipheriv, que usa AES-256 com um vetor de inicialização aleatório a cada uso.

Limitações

  • Foi feito em dois dias: a prioridade era ter um fluxo completo que funcionasse, e não uma versão pronta para produção.
  • O projeto não tem testes automatizados.
  • Os dados de contato e as redes sociais do rodapé ainda são de exemplo.