Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cr-israel/ej-site
API made in TypeScript with Fastify
https://github.com/cr-israel/ej-site
api api-rest docker docker-compose fastify http http-client http-requests http-server nodejs postgresql postgresql-database prisma prisma-orm typescript zod zod-validation
Last synced: about 1 month ago
JSON representation
API made in TypeScript with Fastify
- Host: GitHub
- URL: https://github.com/cr-israel/ej-site
- Owner: Cr-Israel
- Created: 2024-04-01T13:20:40.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-04-29T18:06:47.000Z (8 months ago)
- Last Synced: 2024-04-30T19:02:43.935Z (8 months ago)
- Topics: api, api-rest, docker, docker-compose, fastify, http, http-client, http-requests, http-server, nodejs, postgresql, postgresql-database, prisma, prisma-orm, typescript, zod, zod-validation
- Language: TypeScript
- Homepage:
- Size: 329 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# API
O objetivo desta API é servir as requisições do Front-End, com as ações necessárias.
O Front-End desta aplicação é um site de uma empresa junior.## Stack utilizada
**Back-end:** TypeScript, Fastify, Zod, Prisma, PostgreSQL e Docker.
## Funcionalidades
- Criação de estudante;
- Consulta de todos os estudantes cadastrados;
- Consulta de um único estudante pelo ID.## Documentação da API
#### Retorna o ID do student criado
```http
POST /create
```| Parâmetro | Tipo | Descrição |
| :---------- | :--------- | :---------------------------------- |
| | `string` | **Obrigatório**. As informações necessárias para cadastrar um student |#### Retorna um student determinado pelo ID
```http
GET /get-student/${id}
```| Parâmetro | Tipo | Descrição |
| :---------- | :--------- | :------------------------------------------ |
| `id` | `string` | **Obrigatório**. O ID do student que você quer |#### Retorna todos os students cadastrados
```http
GET /get-all
```
| Parâmetro | Tipo | Descrição |
| :---------- | :--------- | :------------------------------------------ |
| | `string` | **Obrigatório**. Retorna as informações de todos os students. |## Aprendizados
Foi a primeira aplicação que utilizei o Prisma e o Zod. O Prisma é simplesmente incrível! A integração que ele tem o TypeScript é supreedente.
Com o Zod, foi a mesma coisa, a integração dele com o TypeScript é incrível! A forma como ele interage torna mais fácil o desenvolvimento.
Podemos criar um schema do corpo da requisição, dizendo como queremos que os dados sejam recebidos.## Instalação
Instale api_fastify com npm ou yarn
```bash
git clone [email protected]:https://github.com/Cr-Israel/EJ-site
npm/yarn install
npm run dev || yarn dev
docker compose up -d
```
## Variáveis de AmbientePara rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env
`DATABASE_URL`
Com as suas devidas informações do banco de dados.
## Licença
[MIT](https://choosealicense.com/licenses/mit/)
## Autores
- [@Cr-Israel](https://www.github.com/Cr-Israel)
## Feedback
Feedbacks são sempre bem-vindos.
Se você tiver algum feedback, por favor me deixe saber: [email protected]