/stock-prices

Check Stock Price platform based on third party API.

Primary LanguagePHP

StockPriceScreenshot

Sistema de consulta de preço de ações

Sistema desenvolvido para realizar consulta no preço de ações do mercado financeiro com base na Api da IEX.

💻 Tecnologias

👾 Instalação

Para a instalação e rodar o projeto podemos fazer de dois jeitos:

  1. Faça o clone do projeto na sua máquina;
  2. Rode o comando cp .env.example .env;
  3. No arquivo .env informe o Token da API da IEX no campo IEX_API_TOKEN

Com Docker

  1. Na pasta do projeto rode o comando vendor/bin/sail up -d;
  2. Com isso o Sail (que roda o docker) vai instalar os containers da aplicação com os componentes necessários;
  3. Após o docker estar rodando na sua máquina, você precisa aplicar as migrations no banco de dados através do comando vendor/bin/sail artisan migrate;
  4. Rode o comando vendor/bin/sail npm install & npm run dev;
  5. Agora você pode acessar a aplicação através do seu navegador pela url: http://localhost;

Sem Docker

  1. Na pasta do projeto rode o comando composer install;
  2. Rode o comando php artisan key:generate;
  3. Após o composer instalado, você precisa aplicar as migrations no banco de dados através do comando php artisan migrate;
  4. Rode o comando npm install & npm run dev;
  5. Rode o comando php artisan serve, pronto agora você pode acessar a aplicação através do seu navegador pela url: http://localhost:8000;

⚠️ Importante: Antes de rodar o docker, verifique se não esteja rodando outro projeto com o docker na sua máquina.

🔋 Testes

Para rodar os testes da aplicação, siga os passos:

Com Docker

  1. Rode o comando vendor/bin/sail artisan test

Sem Docker

  1. Rode o comando php artisan test

🎯 Tarefas

  • Configuração do ambiente
  • Criação das migrations & models
    • App/Models/StockPrice
  • Criação dos Repositories & Interfaces
    • App/Repositories/BaseRepository
    • App/Interfaces/BaseInterface
    • App/Repositories/StockPriceRepository
  • Criação dos Services
    • App/Models/StockPriceService
  • Criação dos Resources
    • App/Http/Resources/StockPriceResource
  • Criação dos Controllers & Functions
    • App/Http/Controllers/HomeController (apenas index)
  • Criação das Routes
    • raiz / (name = home)
  • Criação das Views
    • resources/views/home.blade.php
  • Criação dos Requests
    • App/Http/Requests/StockPriceRequest
  • Instalação e Configuração do Livewire
    • Component: App/Http/Livewire/ShowStockPrice
    • Inserir o componente dentro da view resources/views/home.blade.php
  • Configuração das chamadas da Api da IEX
    • App/ExternalApis/Iex/IexExternalApi
  • Implementação do frontend
  • Implementação do request e response da Api e registro no banco de dados junto com o retorno para o frontend o resultado buscado
  • Criação dos testes unitários