Be The Hero
Desenvolvedor full-stack — implementei backend (API REST com Express/Knex/SQLite) e frontend (React com rotas, consumo de API e telas de login, cadastro e perfil).
- React
- Node.js
- Express
- Knex
- SQLite3
- Axios
- React Router
Problema
ONGs precisam de um meio simples e rápido de divulgar suas causas e conseguir arrecadação. Sem uma plataforma dedicada, a divulgação fica dispersa em redes sociais e o contato com potenciais doadores é desorganizado.
Solução
Aplicação full-stack com backend em Node.js + Express e frontend em React (JavaScript). A API (com Express, Knex e SQLite3) expõe o CRUD de ONGs, casos e sessão de login, com controllers separados por domínio (OngController, IncidentController, ProfileController, SessionController). No frontend, React Router organiza os fluxos em páginas (Logon, Register, Profile, Newincident) e o Axios centraliza as chamadas à API em uma camada de serviços. É um projeto full-stack completo: autenticação simples por ID de ONG, cadastro de casos e visualização do perfil com os casos da ONG logada.
Visão geral
Projeto da Semana OmniStack 11 (Rocketseat, 2020), que conecta ONGs a pessoas dispostas a ajudar. O foco do exercício foi construir uma aplicação full-stack completa, do banco de dados à interface. É um projeto de estudo que consolidou a base do desenvolvimento web full-stack com JavaScript.
Funcionalidades
- Cadastro de ONGs com geração de ID para login.
- Sessão de login da ONG (SessionController).
- Cadastro e listagem de casos (incidentes) com título, descrição e valor.
- Página de perfil da ONG listando seus casos, com opção de exclusão.
- Frontend com rotas: Logon, Register, Profile e Newincident.
Decisões técnicas
- Backend organizado em camadas:
controllers/separa a lógica por domínio,routes.jscentraliza as rotas edatabase/isola a configuração do Knex. - SQLite + Knex: banco local simples e sem dependência de infraestrutura — adequado para o escopo, com migrations garantindo a evolução do schema.
- Camada de serviços no frontend (
src/services): o Axios fica isolado das páginas, padrão que facilita manutenção. - React Router DOM para navegação entre os fluxos da ONG.
Aprendizados
- Primeira experiência full-stack: conectar frontend React a uma API REST própria, do zero.
- Modelagem de banco relacional com Knex (ONGs e casos com chave estrangeira).
- Fluxo completo de autenticação simples baseada em ID, sem bibliotecas externas de auth.
- Estruturação de projeto com pastas por domínio, tanto no backend quanto no frontend.
Projeto de estudo: escrito em JavaScript (sem TypeScript) e sem deploy publicado. Mantido aqui como registro da minha primeira aplicação full stack de ponta a ponta.