https://github.com/cedraz/expense-manager-back
https://github.com/cedraz/expense-manager-back
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/cedraz/expense-manager-back
- Owner: cedraz
- Created: 2023-11-12T23:11:28.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-05T23:07:23.000Z (over 2 years ago)
- Last Synced: 2024-02-06T00:26:57.102Z (over 2 years ago)
- Language: TypeScript
- Size: 262 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# App
#### Expense Manager
Aplicação para gerenciamento de despesas e cobranças.
## Tecnologias utilizadas no Back-end
- Node.js
- TypeScript
- Fastify
- Prisma
- PostgreSQL
- Zod
## Como rodar o back-end do projeto
- 'docker compose up -d' para rodar o banco de dados (utilize o comando 'sudo' caso esteja no linux)
- 'npm run dev' para rodar a aplicação em modo de desenvolvimento
- 'npx prisma studio' para abrir a interface do prisma
## RFs (Requisitos funcionais)
- [x] O usuário deve poder se cadastrar na aplicação
- [x] O usuário deve poder se autenticar na aplicação
- [x] O usuário deve poder cadastrar cartões de crédito
- [x] O usuário deve poder listar todas as despesas cadastradas em um cartão de crédito
- [x] O usuário deve poder cadastrar uma nova despesa
- [x] O usuário deve poder editar uma despesa cadastrada
- [x] O usuário deve poder excluir uma despesa cadastrada
- [ ] O usuário deve poder fazer upload de um arquivo pdf com a fatura do cartão de crédito
- [ ] O usuário deve poder listar todas as cobranças cadastradas
- [ ] O usuário deve poder cadastrar uma nova cobrança
- [ ] O usuário deve poder excluir uma cobrança cadastrada
- [ ] O usuário deve poder editar uma cobrança cadastrada
## RNs (Regras de negócio)
- [x] O usuário não pode se cadastrar com um e-mail duplicado
- [x] O usuário não pode cadastrar uma despesa com um cartão de crédito inexistente
## RNFs (Requisitos não funcionais)
- [x] A senha do usuário precisa ser criptografada
- [x] Os dados da aplicação precisam estar persistidos em um banco PostgreSQL
- [x] O usuário deve ser identificado por um JWT (JSON Web Token)