Este é um aplicativo de material da Empiricus feito com Flutter, utilizando os pricipios do Clean Architecture, SOLID e MVC para o gerenciamento de estado.
Para logar no aplicativo, basta apenas utilizar as informações abaixo:
- E-mail: empiricus@gmail.com
- Senha: empiricus
Esses dados estão mockados na aplicação.
O aplicativo possui um deep link para abrir qualquer telas do aplicativo, basta apenas utilizar os seguintes comandos:
adb shell 'am start -W -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "https://empiricus.com/"'
adb shell 'am start -W -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "https://empiricus.com/home"'
adb shell 'am start -W -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "https://empiricus.com/home/description/slug"'
No lugar de slug, coloque o slug do artigo de investimento.
/usr/bin/xcrun simctl openurl booted "applinks://empiricus.com/"
/usr/bin/xcrun simctl openurl booted "applinks://empiricus.com/home"
/usr/bin/xcrun simctl openurl booted "applinks://empiricus.com/home/description/slug"
No lugar de slug, coloque o slug do artigo de investimento.
Para utilizar o deep link, é necessário que o aplicativo esteja instalado no dispositivo, no android é necessário configurar abrir por um deep link.
As telas de splash screen foram feitas de forma nativa, sem a utilização de plugins.
O login foi feito de forma mokada, sem a utilização de um backend, no caso de sucesso, o usuário é redirecionado para a tela de listagem de artigos de investimento, caso contrário, é exibido um erro.
O ícone do aplicativo foi alterado para um ícone customizado, com a logo da Empiricus.
O projeto segue uma estrutura organizada em camadas, de acordo com os princípios do Clean Architecture.
- Login: Realiza a autenticação do usuário de forma mokada.
- Listagem de Artigos de Investimento: Exibe uma lista de artigos de investimento.
- Ver detalhes: Mostra os detalhes mais especificos de cada um dos artigos de investimento.
- Flutter: Para o desenvolvimento de interfaces de usuário nativas.
- Dio: Gerenciamento de requisições HTTP.
- GetIt: Injeção de dependências.
- Clean Architecture: Estruturação do código em camadas de forma independente.
-
Clone o repositório:
git clone https://github.com/pablostefan/empiricus.git
-
Navegue até o diretório do projeto:
cd empiricus -
Instale as dependências:
flutter pub get
-
Execute o aplicativo com o arquivo:
flutter run
lib/
├── app/ # Ponto de entrada do aplicativo
├── core/ # Recursos compartilhados e infraestrutura
│ ├── error/ # Tratamento de erros e falhas
│ ├── infra/ # Infraestrutura
│ │ └── http/ # Serviços HTTP
│ ├── utils/ # Utilitários diversos
│ └── injection/ # Injeção de dependências
└── features/ # Módulos do aplicativo
│ └── auth/ # Módulo de autenticação
│ │ ├── data/ # Camada de dados
│ │ ├── domain/ # Camada de domínio
│ │ └── presentation/ # Camada de apresentação
│ └── investments/ # Módulo de investimentos
│ ├── data/ # Camada de dados
│ ├── domain/ # Camada de domínio
│ └── presentation/ # Camada de apresentação
└── l10n/ # String internacionalizadas
└── shared/ # Recursos compartilhados

