O Blog App é uma aplicativo que permite aos usuários listar e criar postagens. O aplicativo se comunica com uma API REST simples, desenvolvida com Ktor, com o objetivo de apenas simular um serviço web
- Faça o clone do repositório do projeto.
- Baixe e instale o Android Studio.
- Baixe e instale o IntelliJ IDEA ou outra IDE de sua preferência.
- Abra o IntelliJ IDEA.
- Importe o projeto dentro da pasta API.
- Localize o arquivo Application.kt dentro do projeto.
- Execute a aplicação clicando no botão "Run" na função "main"
- Aguarde até que a API esteja em execução.
- Abra o Android Studio.
- Importe o projeto dentro da para APP.
- Execute o aplicativo clicando no botão "Run"
- Aguarde até que o aplicativo seja instalado e iniciado no dispositivo ou emulador.
O app foi desenvolvido seguindo os padrões da arquitetura MVVM e da Clean Architecture, promovendo uma clara separação de responsabilidades e facilitando a manutenção do código. No MVVM, o Model gerencia os dados e a lógica de negócios, o View é responsável pela interface do usuário e o ViewModel atua como intermediário entre eles. Isso permite o desenvolvimento independente de cada componente, resultando em código mais organizado e reutilizável. Além disso,a Clean Architecture organiza o código em camadas bem definidas (Domain, Data e Presentation/UI), promovendo a independência entre elas e melhorando a escalabilidade do aplicativo.
Foi adotado o padrão de injeção de dependências para desacoplar classes e tornar o código mais modular e testável. O Koin foi escolhido devido à sua simplicidade, integração com Kotlin e eficiência, facilitando o desenvolvimento e manutenção do código.
Para lidar com operações assíncronas, foi utilizado Coroutines e Flow. Isso simplifica o tratamento de chamadas assíncronas, resultando em código mais limpo, fácil de manter e com melhor performance, sem a necessidade de bibliotecas externas.
Na interface do usuário, foi utlizado o Jetpack Compose, um toolkit moderno que simplifica a construção de interfaces, permitindo criar telas com menos código e maior praticidade, utilizando a mesma linguagem do aplicativo, o Kotlin.