Giter VIP home page Giter VIP logo

find-a-friend's Introduction

App Find A Friend Node.js

Desafio 03 - módulo 03 Trilha Node.js Ignite 2022/2023 - Rocketseat

Sobre o Projeto:

*Find A Friend é uma API Rest feita em Node.js. Nela é possível um usuário encontrar e adotar o seu amigo Pet. Aplicação feita usando TDD e SOLID como principais Patterns na construção da API.

Tecnologias utilizadas:

  • Express
  • Zod
  • Typescript
  • Vitest

Bibliotecas em destaque:

  • Zod
  • tsup
  • Vitest

Ferramentas de desenvolvimento utilizadas:

  • Visual Studio Code
  • Insomnia
  • Beekeeper Studio
  • Docker Desktop

Rotas

Base Url(dev): http://localhost:3000

organizations

  • create(POST) --> /
  • authentication(POST) --> /session

pets

  • create(POST) --> /
  • getPet(GET) --> /profile-pet
  • fetchPets(POST) --> /fetch
  • delete(DELETE) --> /delete

requirements

  • create(POST) --> /

photos

  • create/upload(POST) --> /

RFs (Requisitos funcionais)

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

RNs (Regras de negócio)

  • Para listar os pets, obrigatoriamente precisamos informar o estado e cidade;
  • Uma ORG precisa ter um endereço e um número de WhatsApp;
  • Um pet deve estar ligado a uma ORG;
  • O usuário que quer adotar, entrará em contato com a ORG via WhatsApp;
  • Todos os filtros, além da cidade, são opcionais;
  • Para uma ORG acessar a aplicação como admin, ela precisa estar logada;
  • Não pode ser possível criar uma Organização com email duplicado;

RNFs (Requisitos não funcionais)

  • A senha precisa ser criptografada;
  • Os dados da aplicação precisam estar persistidos(salvos) em BD PostgreSQL;
  • Todas as listas de dados precisar estar paginadas com 20 itens por página;
  • O usuário deve ser identificado por um JWT(JSON Web Token);
  • O upload das imagens deve ser feita com Multer;

find-a-friend's People

Contributors

maxiixx23 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.