API para gerenciamento de finanças pessoais, desenvolvida com Fastify, Prisma e TypeScript.
- Autenticação de usuários com JWT
- Gerenciamento de categorias (receitas e despesas)
- Gerenciamento de transações
- Cálculo automático de saldo
- Validação de dados com Zod
- Fastify
- Prisma
- TypeScript
- PostgreSQL
- JWT
- Bcrypt
- Zod
- Node.js 18+
- PostgreSQL
- npm ou yarn
- Clone o repositório
git clone https://github.com/seu-usuario/finance-api.git
cd finance-api- Instale as dependências
npm install- Configure o banco de dados
- Crie um arquivo
.envbaseado no.env.example - Configure a URL do banco de dados no arquivo
.env - Execute as migrações do Prisma
npx prisma migrate dev- Inicie o servidor
npm run devPOST /auth/register- Registrar novo usuárioPOST /auth/login- Login de usuário
POST /categories- Criar categoriaGET /categories- Listar categoriasGET /categories/:id- Buscar categoria por IDPUT /categories/:id- Atualizar categoriaDELETE /categories/:id- Deletar categoria
POST /transactions- Criar transaçãoGET /transactions- Listar transaçõesGET /transactions/:id- Buscar transação por IDPUT /transactions/:id- Atualizar transaçãoDELETE /transactions/:id- Deletar transaçãoGET /transactions/balance- Obter saldo atual
src/
├── modules/
│ ├── auth/
│ │ ├── routes.ts
│ │ ├── services.ts
│ │ └── schemas.ts
│ ├── categories/
│ │ ├── routes.ts
│ │ ├── services.ts
│ │ └── schemas.ts
│ └── transactions/
│ ├── routes.ts
│ ├── services.ts
│ └── schemas.ts
├── lib/
│ └── prisma.ts
└── server.ts
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request