Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/drewdomi/customermanager-server
Uma API REST para a comunicação com um cliente de gerenciamento de clientes
https://github.com/drewdomi/customermanager-server
express nodejs orm-framework prisma typescript
Last synced: 28 days ago
JSON representation
Uma API REST para a comunicação com um cliente de gerenciamento de clientes
- Host: GitHub
- URL: https://github.com/drewdomi/customermanager-server
- Owner: drewdomi
- Created: 2023-07-21T12:01:23.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-25T23:06:01.000Z (6 months ago)
- Last Synced: 2024-06-26T05:25:25.060Z (6 months ago)
- Topics: express, nodejs, orm-framework, prisma, typescript
- Language: TypeScript
- Homepage: https://drewdomi-cm-api.vercel.app/
- Size: 684 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Customer Manager API
## 💭 Introdução
Essa API rest faz a comunição entre o [Client](https://github.com/drewdomi/CustomerManager-client) com o Banco de Dados.## Funcionalidades
- Buscar por todos os Clientes no Base de Dados
- Cadastrar novos Clientes
- Editar informações de um Cliente
- Excluir um Cliente
- Validação de documento CPF## Como usar a API?
### Configuração do ambiente do Banco de Dados
- Primeiro baixe o repositório (seja pelas por `git clone` ou através de um arquivo .zip pelo Github).
- Após baixar você deve configurar o "environment", para isso crie um arquivo chamado `.env` na raiz do projeto, e edit ele adicionando a linha `DATABASE_URL=postgresql://test:test@localhost:5432/test` se for por exemplo banco PostgreSQL, para mais informações [acesse aqui](https://www.prisma.io/docs/guides/development-environment/environment-variables)### Baixe e instale as dependências
- Com o projeto já **baixado** e o .env configurado **rode o comando** `npm install` para baixar e instalar todas as dependencias!!
- Note que ele roda o comando `prisma generate` para justamente configurar o banco com o `.env`
- Agora dê o comando `npm run server` para iniciar a API.
- A API estará disponível para acesso no Endpoint `http://localhost:3000/customers`.### API Endpoints
| HTTP Verbs | Endpoints | Ações |
| --- | --- | --- |
| GET | /customers | Recebe todos os clientes cadastrados |
| GET | /customers/:id | Busca um cliente por ID |
| GET | /customers/find:queryParams | Busca um cliente por parametros ex: `?name=joao` |
| POST | /customers | Cria um novo Cliente na base de dados |
| PUT | /customers/:id | Altera um Cliente na base de dados |### Tecnologias Usadas
- **NodeJS**: uma plataforma de desenvolvimento backend de código aberto construída sobre o motor V8 do Google Chrome. Ele permite executar código JavaScript no lado do servidor, o que facilita a construção de aplicativos de alto desempenho e escaláveis. Com o Node.js, é possível criar servidores web, APIs REST, serviços de rede e outras aplicações backend.- **TypeScript**: um superset JavaScript que adicionando tipagem estática opcional e recursos avançados de programação orientada a objetos. Ao usar o TypeScript, você pode identificar erros de forma mais rápida durante o desenvolvimento, melhorar a manutenção do código e obter recursos avançados, como interfaces, enums e tipos personalizados.
- **Express**: um framework web minimalista para Node.js. Ele facilita a criação de aplicativos e APIs RESTful de forma rápida e simples. Com uma estrutura de middleware flexível, o Express permite o processamento de solicitações HTTP, gerenciamento de rotas e muito mais, tornando-o uma escolha popular para a construção de servidores web.
- **Prisma**: uma ferramenta de mapeamento objeto-relacional (ORM) moderna e poderosa para Node.js e TypeScript. Ela facilita a interação com o banco de dados, permitindo que você modele seus dados usando uma linguagem de definição de esquema declarativa e, em seguida, gere automaticamente consultas SQL para interagir com o banco de dados. Prisma oferece suporte para PostgreSQL, MySQL e SQLite, permitindo que você crie aplicativos escaláveis e seguros com facilidade.