Skip to content

thetheago/flykit

Repository files navigation

👋 Olá

Primeiro obrigado pela oportunidade, espero que goste do projeto!

🚀 Tecnologias Utilizadas

  • PHP 8.3
  • Hyperf 3.1
  • Quasar Framework
  • Composer
  • Docker & compose
  • (Outras tecnologias/libs: Swagger, Phpunit, RabbitMQ..)

🐨 Pré-requisitos

  • docker compose

🪭 Acessos

🍂 RabbitMQ (GUI) http://localhost:15672

  • user : admin
  • senha : admin

🩳 API http://localhost:9501 (Veja a seção de Documentação da API mais abaixo)

💅 Front http://localhost:9000

🪖 Database jdbc:mysql://localhost:3306

  • user : flykit
  • senha : flykit

⚙️ Como Executar o Projeto

Passo 1: Abra o terminal no diretório do docker-compose.yml

Passo 2: Rode o seguinte comando: docker compose up -d

⚠️ Passo 3: Após a inicialização dos containers rode docker compose exec flykit php bin/hyperf.php db:seed

  • O comando acima irá criar alguns usuários e pedidos de viagem no banco, necessário para fazer as operações. *

⚠️ Como não deu tempo de fazer o logout da aplicação, caso queira fazer, será necessário uma das opções abaixo :

  1. Acessar outro navegador (ou abrir uma nova aba anônima).

  2. Excluir cookie com token (está sem a opção de secure) Acessar os cookies do navegador (F12 -> Application -> Cookies) e excluir o "Secret-Token", após atualizar a página será redirecionado novamente ao login.

🐦 Documentação da API

  • Lutei com o swagger do hyperf e perdi 😂, então tem um container do próprio swagger que interpreta o .yml e disponibiliza o html em http://localhost:8091

🗺️ Planejamento

https://miro.com/app/board/uXjVI2WtZCQ=

image

📶 Cobertura de código (api)

  • Para rodar os códigos rode o seguinte comando na pasta do docker-compose.yml docker compose exec flykit composer coverage && open ./backend/.phpunit.cache/coverage/index.html
  • Caso seu SO não tenha o comando open o html estará disponivel no projeto em /backend/.phpunit.cache/coverage/index.html

image

📄 Referências

https://www.hyperf.wiki/3.1/#/en/async-queue

https://www.hyperf.wiki/3.1/#/en/amqp

(RabbitMQ Producer)

https://www.hyperf.wiki/3.1/#/en/validation?id=use

(Request Validation & Injection) https://www.php-fig.org/psr/psr-7/

(Http padrão)

https://www.hyperf.wiki/3.1/#/en/di https://www.hyperf.wiki/3.1/#/en/di?id=abstract-object-injection (Dependency Injection)

https://www.hyperf.wiki/3.1/#/en/watcher?id=watcher-hot-reload

[jwt] https://medium.com/@gustavohosilva10/hyperf-autentica%C3%A7%C3%A3o-jwt-f22cbaa87742 https://imasters.com.br/back-end/entendendo-tokens-jwt

https://www.youtube.com/watch?v=CRPsp43HZ88

[Swagger]

https://medium.com/inside-picpay/documenta%C3%A7%C3%A3o-de-apis-voc%C3%AA-conhece-o-swagger-fd8b403d27ed https://www.hyperf.wiki/3.1/#/en/swagger

https://www.hyperf.wiki/3.1/#/en/db/model-cache?id=model-cache
https://www.hyperf.wiki/3.1/#/en/event?id=define-a-listener

https://docs.guzzlephp.org/en/stable/request-options.html?highlight=http_errors

https://quasar.dev/
https://github.com/lloydtao/django-nuxt-social-crud/tree/main/frontend/frontend

https://quasar.dev/quasar-plugins/notify#notify-api

https://quasar.dev/quasar-plugins/loading#loading-api

https://jasonwatmore.com/post/2022/05/26/vue-3-pinia-jwt-authentication-tutorial-example

https://www.hyperf.wiki/3.1/#/en/middleware/middleware?id=cross-domain-middleware

https://www.hyperf.wiki/3.1/#/en/request?id=get-cookies-from-the-request

https://quasar.dev/quasar-cli-vite/boot-files/

About

Flykit é um sistema de gerenciamento de viagens com back-end em PHP 8.3 (HyPerf 3.1) e front-end Quasar. Usa state pattern para controlar estados das viagens, corrotinas para async, RabbitMQ para envio de e-mails, além de Docker, Composer e Swagger para API e documentação.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors