Skip to content

GabRodrigues23/QuickConverter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 QuickConverter (v3.0)

QuickConverter Screen Blue QuickConverter Screen Red QuickConverter Screen Yellow QuickConverter Screen Green

Lazarus Flutter AWS

Conversor de moedas full stack robusto e performático, construído com Lazarus (Free Pascal) para o backend e Flutter para o frontend. O projeto demonstra um ciclo de vida completo de desenvolvimento, incluindo cache no servidor, temas customizáveis e implantação na nuvem AWS.


✨ Features

  • 💰 Conversão Multi-Moeda: Suporte para conversão em tempo real entre as principais moedas fiduciárias (USD, BRL, EUR, etc.) utilizando a AwesomeAPI.
  • ₿ Criptomoedas: Módulo dedicado para conversão de criptomoedas (Bitcoin, Ethereum, etc.) com cotação simultânea em Dólar e Real.
  • 📜 Histórico Local: Registro automático das conversões realizadas, persistido localmente no dispositivo.
  • ⚡ Cache Inteligente: Backend em Lazarus com sistema de cache para reduzir latência e prevenir bloqueios de API (Erro 429).
  • 🎨 Temas Customizáveis: Interface moderna com seletor de paletas de cores (Azul, Vermelho, Amarelo e Verde) gerenciado via Provider.
  • 📱 Interface Reativa: Navegação fluida com Sidebar, validação de inputs e formatação em tempo real.
  • ☁️ Deploy na AWS: Backend totalmente funcional hospedado em servidor EC2.

🛠️ Stack de Tecnologias

  • Backend:
    • Linguagem: Free Pascal (com Lazarus IDE)
    • Framework: Horse
    • Middleware JSON: Jhonson
  • Frontend:
    • Framework: Flutter (Dart)
    • Gerenciamento de Estado: Provider (ChangeNotifier)
    • Arquitetura: MVVM aprimorada (com camada de Repository)
    • Persistência: shared_preferences para histórico local
  • Infraestrutura (Deploy):

⚙️ Como Executar Localmente

Pré-requisitos

  • Lazarus IDE instalado.
  • Flutter SDK instalado.
  • DLLs do OpenSSL (libeay32.dll e ssleay32.dll) na pasta do backend.

1. Backend (Lazarus)

  1. Abra o arquivo backend/backend.lpi no Lazarus IDE.
  2. Compile e execute o projeto (F9). O servidor iniciará na porta 9000.

2. Frontend (Flutter)

  1. Navegue até a pasta frontend/.
  2. Crie um arquivo chamado .env na raiz da pasta frontend/.
  3. Adicione a seguinte linha ao arquivo .env para apontar para o seu servidor local:
    API_URL=http://localhost:9000
    
  4. Instale as dependências e execute o app:
    flutter pub get
    flutter run

☁️ Informações do Deploy (AWS)

A API está hospedada em uma instância EC2 da AWS. Para que o aplicativo Flutter se comunique com o servidor na nuvem, o arquivo .env deve ser configurado com o IP público da instância:

# Exemplo de conteúdo do arquivo .env para produção
API_URL=http://SEU_IP_PUBLICO_DA_AWS:9000

Nota: O arquivo .env está listado no .gitignore e não deve ser versionado, garantindo que as configurações de produção não sejam expostas no repositório.


👤 Autor

Gabriel Rodrigues

Desenvolvedor Full Stack (Lazarus + Flutter)

About

Conversor de moedas completo, usando Lazarus no backend e Flutter no frontend. O objetivo é demonstrar uma estrutura de projeto real e eficiente, com a documentação de cada etapa do desenvolvimento.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors