Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tavareshenrique/03-ignite-nodejs-find-friend-api

O Find a Friend API é o desafio do terceiro módulo do Ignite NodeJS da Rocketseat. Trata-se de uma API para encontrar pets para adoção, permitindo o cadastro de ONGs e pets. Os usuários podem filtrar os animais por cidade, estado, raça, idade e outros critérios.
https://github.com/tavareshenrique/03-ignite-nodejs-find-friend-api

find-a-friend-api ignite-nodejs ignite-rocketseat javascript node node-js nodejs prisma prisma-orm rocketseat typescript

Last synced: 11 days ago
JSON representation

O Find a Friend API é o desafio do terceiro módulo do Ignite NodeJS da Rocketseat. Trata-se de uma API para encontrar pets para adoção, permitindo o cadastro de ONGs e pets. Os usuários podem filtrar os animais por cidade, estado, raça, idade e outros critérios.

Awesome Lists containing this project

README

        


Daily Diet API


Last commit on GitHub
Made by Henrique Tavares
Project top programing language
Repository size
GitHub license


ℹ️ Como Executar?   |   
🚀 Tecnologias   |   
💻 Autores   |   
📝 Licença


O Find a Friend API é o desafio do terceiro módulo do curso Ignite NodeJS da Rocketseat. Para acessar o código do curso do Ignite NodeJS, clique aqui .


O Projeto consiste em uma API para encontrar amigo pet, onde é possível cadastrar uma ONG, e cadastrar os Pets que estão disponíveis para adoção. Também é possível fazer o filtro de Pets por cidade, estado, raça, idade etc.


Run in Insomnia

---

# :information_source: Como Executar?

> **1.0.** Clone o Repositório:

```bash
git clone https://github.com/tavareshenrique/03-ignite-nodejs-find-friend-api.git
```

> **1.1.** Instale as dependências:

```bash
pnpm install
```

> **1.2.** Crie a .env a partir da .env.example

```bash
cp .env.example .env
```

> **1.3.** Inicie o Banco de Dados com Docker:

```bash
docker-compose up --build
# A flag "--build" só é usado na primeira vez que for subir o banco de dados.

# Deixe rodando em um terminal e abra outro terminal para rodar os próximos comandos.
```

> **1.4.** Rode as Migrations:

```bash
npx prisma migrate dev
```

> **1.5.** Gere os types a partir do prisma:

```bash
npx prisma generate
```

> **1.6.** Inicie o Serviço:

```bash
pnpm dev
```

> ➡️ Use [http://localhost:3333](http://localhost:3333) para acessar a aplicação.

# :rocket: Tecnologias

- [Fastify](https://fastify.dev/)
- [@fastify/cookie](https://github.com/fastify/fastify-cookie)
- [@fastify/jwt](https://github.com/fastify/fastify-jwt)
- [@fastify/multipart](https://github.com/fastify/fastify-multipart)
- [@fastify/static](https://github.com/fastify/fastify-static)
- [bcryptjs](https://github.com/dcodeIO/bcrypt.js)
- [dotenv](https://github.com/motdotla/dotenv)
- [TypeScript](https://www.typescriptlang.org/)
- [Prisma](https://www.prisma.io/)
- [Postgres](https://www.postgresql.org/)
- [Docker](https://www.docker.com/)
- [tsx](https://github.com/esbuild-kit/tsx)
- [tsup](https://github.com/egoist/tsup)
- [supertest](https://github.com/ladjs/supertest)
- [vitest](https://vitest.dev/)
- [zod](https://zod.dev/)

# :computer: Autores




Henrique Tavares



Henrique Tavares




@tavareshenrique


💻



Logo da Rocketseat



Rocketseat




@rocketseat


🚀

# :memo: Licença

Este projeto está licenciado sob a licença MIT - veja o arquivo de [licença](./LICENSE) para mais detalhes.