eBook é um aplicativo para exibição e leitura de livros. Através de uma interface simples é possível fazer tanto a visualização dos livros disponíveis, salvar eles como favorito e também exibir seu conteúdo ao clica-lo.
O projeto se divide em três camadas principais de arquitetura:
domain
: na camada de domínio reúnem-se o núcleo da lógica de negócios e contém as entidades, regras de negócios e contratos abstratos. Essa camada é independente de qualquer detalhe de implementação específica e não possuí nenhuma dependência com pacotes externos.infra
: na camada de infra contém providers que realizam acesso à APIs externas, repositories que interagem com o próprio dispositivo, models que representam a classe de resposta de cada provider com os métodos de desserialização e que transformam o modelo em uma entidade.presentation
: a última camada está relacionada à interface do usuário e à apresentação de informações para o usuário. Ela lida com a lógica da interface do usuário, como a criação de páginas, manipulação de rotas e gerenciamento de estados.
- Baixar Lista de Livros e Capas O aplicativo acessa uma API para obter uma lista atualizada de livros.
- Estante de Livros Exibe as capas dos livros baixados de forma organizada em uma estante virtual.
- Download e Armazenamento de Livros Permite que o usuário baixe um livro ao tocar em sua capa e salve o arquivo no dispositivo.
- Exibição de Livros Utiliza o package Vocsy Epub Viewer para exibir o conteúdo do livro.
Esse projeto utiliza as seguintes tecnologias:
- Navegação: flutter_modular
- Requisições HTTP: dio
- Utilitários de design: widget_mask | material_color_utilities | google_fonts
- Persistência de dados: hive
Certifique-se de ter o Flutter instalado em seu sistema. Se não tiver você pode instala-lo clicando aqui
- Clone este repositório:
git clone https://github.com/GabrielRStabile/ebook_app.git
- Navegue até o diretório do projeto:
cd ebook_app
- Execute o comando:
flutter run
Como alternativa também é possível baixar o arquivo .APK diretamente na aba Releases do Github.