Skip to content

Latest commit

 

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TypeScript Postgres NodeJS Express.js Docker

API para gestão de eventos

Desafio MBLabs

API para gestão de eventos, usuários podem buscar e comprar ingressos de um determinado evento.

Neste projeto foi utilizado o Typeorm para manipulação dos dados no banco de dados.

Banco de Dados

Data Base diagram

Instruções

  • clonar repositório.
      git clone https://github.com/sidneyfrancois/api-gestao-de-eventos.git
    
  • entrar na pasta do projeto.
    cd api-gestao-de-eventos
    
  • Criar imagem do docker e inicializar containers. (comando -d opctional para rodar containers em segundo plano)
      docker compose up -d
    
    Após a initialização dos containers é feita a migration para criação de tabelas no banco de dados e posteriormente a aplicação se inicializa.

Endpoints

  • Criação do host do evento (empresa ou universidade)

    POST /hostevent

    Corpo da requisição

    {
      "name": "name_host_event"
    }
    
  • Criação do evento

    POST /event

    Corpo da requisição

    {
      "name": "name_event",
      "hostevent_id": "cdf5fbd7-104a-4071-b9e3-dedf68ba579b"
    }
    
  • Criação de ingresso

    POST /ticket

    Corpo da requisição

    {
      "event_id": "748cedc4-47cc-48dc-883b-06abfa4bcd88",
      "isAvailable": true
    }
    
  • Listar todos os ingressos disponíveis

    GET /ticket

  • Criação do host do evento (empresa ou universidade)

    POST /hostevent

    Corpo da requisição

    {
      "name": "name_host_event"
    }
    
  • Criação do evento

    POST /event

    Corpo da requisição

    {
      "name": "name_event",
      "hostevent_id": "cdf5fbd7-104a-4071-b9e3-dedf68ba579b"
    }
    
  • Criação de ingresso

    POST /ticket

    Corpo da requisição

    {
      "event_id": "748cedc4-47cc-48dc-883b-06abfa4bcd88",
      "isAvailable": true
    }
    
  • Listar todos os ingressos

    GET /ticket

  • Listar todos os ingressos disponíveis

    GET /availabletickets

  • Listar todos os ingressos indisponíveis

    GET /unavailabletickets

  • Compra de ingresso

    POST /buyticket

    Corpo da requisição

    {
      "ticket_id": "748cedc4-47cc-48dc-883b-06abfa4bcd88"
    }
    

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages