Giter VIP home page Giter VIP logo

twidio's Introduction

TwiDIO API

API desenvolvida para o projeto TwiDIO

Arquitetura

📂Controllers

Aplica validações necessárias na requisição.

📂Services

Aplica regras de negócios antes de enviar ao repositório.

📂Repositories

Salva os dados no banco de dados.

📂Entities

Gerencia a estrutura das entidades da aplicação.

📂Database

Cria as conexões necessárias com o banco de dados.

📂__mocks __

Armazena os dados e mocks utilizados nos testes unitários.

📂tests

Armazena as switch de testes de integração.

 📁 TwiDIO
   |
   |-  📁 src
   |    |
   |    |- 📁 __mocks_
   |         |- 📄 getEntityManagerMock.ts
   |         |- 📄 mockContentList.ts
   |         |- 📄 mockRequest.ts
   |         |- 📄 mockResponse.ts
   |
   |    |- 📁 database
   |         |- 📁 migrations
   |         |- 📄 index.ts
   |         |- 📄 database.sqlite
   |         |- 📄 database.test.sqlite
   |
   |    |- 📁 controllers
   |         |- 📄 GetAllPostController.ts
   |         |- 📄 MessageController.ts
   |
   |    |- 📁 entities
   |         |- 📄 Post.ts
   |
   |    |- 📁 repositories
   |         |- 📄 PostRepository.ts
   |
   |    |- 📁 services
   |         |- 📄 GetAllPostService.ts
   |
   |    |- 📁 tests
   |         |- 📄 posts.test.ts
   |
   |
   |- 📄 .gitignore
   |- 📄 package.json
   |- 📄 app.ts
   |- 📄 index.ts
   |- 📄 router.ts

Este projeto usa

  • Node
  • Typescript
  • Jest
  • SQLite
  • TypeORM

Como rodar o projeto

1 - Clone o repositório

2 - Instale todas as dependências


yarn install

4 - Acesse a rota principal

http://localhost:5000/v1/

Testando o projeto

Testes unitários


yarn test:unit

Testes de integração

1 - Rode a aplicação em modo de desenvolvimento


yarn run dev

1 - Rode os testes de integração no repositório /tests


yarn test:integration

endpoints

GET /posts

Retorna todos os posts criados no banco de dados

Exemplo

http://localhost:5000/v1/posts

POST /posts (em desenvolvimento)

Cria um novo post no banco de dados. Todos os campos são obrigatórios

Exemplo

body {
    author: '[email protected]',
    content: 'Tuite de exemplo'
}

Desafios sugeridos

  • Usando os conceitos de TDD

[ ] Implementar uma rota que retorne todos os posts de um usuário

[ ] Implementar uma rota que permita excluir um post

Happy hacking!

twidio's People

Contributors

nathsouzadev 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.