Skip to content

anarkaike/listouve-api

Repository files navigation

Desenvolvido com

Laravel Logo

Build Status Total Downloads Latest Stable Version License

Gestão de Filas de Eventos

Para iniciar o projeto, siga os seguintes passos:

Passo 1:
Crie uma base de dados vazia.

Passo 2:
Copie o arquivo .env.example na raiz do projeto atualizando com as credenciais de banco de dados.

Passo 3:
Instale as bibliotecas componser com o seguinte comando:

composer install

Passo 4:
Execute as migrations para gerar o banco de dados:

php artisan migrate 

Laravel é um framework de aplicação web com uma sintaxe expressiva e elegante. Acreditamos que o desenvolvimento deve ser uma experiência agradável e criativa para ser verdadeiramente gratificante. Laravel facilita o desenvolvimento, tornando mais simples tarefas comuns utilizadas em muitos projetos web, como:

O Laravel é acessível, poderoso e fornece as ferramentas necessárias para aplicativos grandes e robustos.

Para aprender mais ou consultar alguma função específica, consulte a documentação oficial no seguinte link:
https://laravel.com/docs/10.x

Sobre o Sistema

ListouVe é um sistema para gerenciamento de listas de eventos contruído para funcionar como um SaaS.

Diagrama Entidade Relacional

Entidades:

  • Usuários (Tabela: users)
    Essa é a tabela criada pelo Laravel Sanctum, para geração de tokens usados para iteragir com a API.

  • Eventos (Tabela: events)
    Armazena os dados sobre o evento propriamente dito. As listas serão criadas a partir de um evento.

  • Listas de Eventos (Tabela: events_lists)
    Armazera os dados sobre a lista que será usada na entrada do evento.

  • Itens de Lista de Evento (Tabela: events_lists_items)
    Armazena dados do da pessoa que se inscreveu na lista do evento.

https://dbdiagram.io/d/Gestao-de-Recepcao-65333593ffbf5169f024e94a

Padronizações

Campos de Auditorias

Todas as tabelas (com exceção das mn e tokens) possuem as seguintes colunas de auditoria:

  • created_at
    Data e hora de criação do registro.

  • created_by
    Usuário que criou o registro.

  • updated_at
    Data e hora da última atualização do registro.

  • updated_by
    Usuário que atualizou o registro por último.

  • updated_values
    Json contendo histórico de atualizações do registro.

  • deleted_at
    Data e hora da exclusão lógica do registro.

  • deleted_by
    Usuário que excluiu o registro.

Padronizações de Camadas

Actions - Regras de Ngócios

Os controllers chamarão os actions, para permitir que regras de negócio sejam aplicadas nesta camada. Exemplos: envio de emails, atualizações secundárias, notificações, criações de logs, geração de histórico de atualizações e etc.

Repositories - Consulta de Dados

No repository será onde usaremos Eloquent para iteragir com banco de dados, ou outra fonte de dados.

Interfaces

Atualmente temos interfaces para actions, controllers que possuem crud e repositories.

Requests - Validação de Payload

Os controllers chamarão os actions, para permitir que regras de negócio sejam aplicadas nesta camada. Exemplos: envio de emails, atualizações secundárias, notificações, criações de logs, geração de histórico de atualizações e etc.

Api Customs Responsable - Padronização de Retorno da Api

Resposta Customizada para padronizar respostas na API.
No projeto até o momento temos dois tipos de retornos:

  • SUCESSO:
    File: App/Http/Responses/ApiSuccessResponse.php
    Responsável pela padronização dos retornos exitosos.

  • ERRO:
    File: App/Http/Responses/ApiErrorResponse.php
    Responsável pela padronização dos retornos com erro.

Testes

Para executar os testes rode o seguinte comando a partir da raiz do projeto:

vendor/bin/phpunit

Documentação da API

Foi gerada uma documentação usando a ferramenta postman.

Acesse no link:
https://documenter.getpostman.com/view/9737921/2s9YRDzVuM

Desenvolvido por:
Junio de Almeida Vitorino
Qualquer dúvida: anarkaike@gmail.com
https://www.linkedin.com/in/junioalmeida/

License

The Laravel framework is open-sourced software licensed under the MIT license.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published