Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/carlos-hfc/find-a-friend


https://github.com/carlos-hfc/find-a-friend

fastify mysql nodejs prisma-orm rocketseat rocketseat-ignite typescript vitest zod

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        






# :bulb: Sobre

O **Find a Friend** é um app para encontrar o pet ideal para seu estilo de vida desenvolvido no módulo sobre API REST da formação de Node.js da Rocketseat.

## :page_with_curl: Pré-requisitos

1. Antes de começar, certifique-se de ter o Node.js instalado em sua máquina.

Node.js

## :gear: Configuração

1. Clone o repositório para sua máquina local:

```bash
git clone https://github.com/carlos-hfc/find-a-friend
```

2. Acesse o diretório do projeto:

```bash
cd find-a-friend
```

3. Instale as dependências:

```bash
npm install
```

4. Crie um arquivo `.env.local` na raiz do projeto e adicione as seguinte chaves:

```env
NODE_ENV=""
DATABASE_URL=""
JWT_SECRET=""
```

5. Rode a aplicação

```bash
npm run dev
```

## :computer_mouse: Features

### Requisitos funcionais

- :ballot_box_with_check: Deve ser possível se cadastrar como uma ORG
- :ballot_box_with_check: Deve ser possível realizar login como uma ORG
- :ballot_box_with_check: Deve ser possível cadastrar um pet
- :ballot_box_with_check: Deve ser possível listar todos os pets disponíveis para adoção em uma cidade
- :ballot_box_with_check: Deve ser possível filtrar pets por suas características
- :ballot_box_with_check: Deve ser possível visualizar detalhes de um pet para adoção

### Regras de negócio

- :ballot_box_with_check: Uma ORG precisa ter um endereço e um número de WhatsApp
- :ballot_box_with_check: Para um ORG acessar a aplicação como admin, ela precisa estar logada
- :ballot_box_with_check: O usuário que quer adotar, entrará em contato com a ORG via WhatsApp
- :ballot_box_with_check: Um pet deve estar ligado a uma ORG
- :ballot_box_with_check: Para listar os pets, obrigatoriamente precisamos informar a cidade
- :ballot_box_with_check: Todos os filtros, além da cidade, são opcionais

## :computer: Tecnologias utilizadas


Node.js
TypeScript

## :page_facing_up: Licença

Este projeto está licenciado sob a [Licença MIT](LICENSE).