CoinWatch é um aplicativo de criptomoeda Android que fornece preços de moedas, históricos de preços e dados de mercado em tempo real.
O aplicativo é construído usando os mais recentes componentes da arquitetura Android - resultando em um aplicativo escalonável, modularizado e testável.
Obtenha uma lista de preços em tempo real e alterações de preços das principais criptomoedas
Analise moedas em detalhes com gráficos animados de histórico de preços e dados de estatísticas de mercado
Pesquise milhares de criptomoedas por nome ou símbolo
Crie uma lista personalizada de criptomoedas favoritas
Kotlin
Composição do Jetpack
Reforma
Bobina
OkHttp
Corrotinas
Fluxo
Cabo
Modelo de visualização
Corte de madeira
Sala
Projeto de Materiais 3
Análise estática de código usando Ktlint
CoinWatch apresenta um extenso conjunto de testes, usando o seguinte:
JUnit para testes locais
APIs de teste do Jetpack Compose para testes instrumentados
Verdade para afirmações
MockK para simulações
O design do CoinWatch segue alguns princípios fundamentais:
Fluxo de dados unidirecional (UDF) – Fluxos de estado em uma direção e eventos que modificam o fluxo de dados na direção oposta.
Fonte Única da Verdade (SSOT) - O SSOT é o proprietário dos dados e somente o SSOT pode modificá-los ou alterá-los.
Impulsione a UI a partir de modelos de dados imutáveis - os dados do aplicativo estão contidos em modelos de dados persistentes e orientam componentes da UI.
Uma visão geral de alto nível da arquitetura do aplicativo é exibida abaixo. A arquitetura segue as orientações oficiais de arquitetura do Google.
Contribuições para o projeto são bem-vindas e altamente incentivadas! Para começar, verifique as diretrizes de contribuição.
Você tem ideias para melhorar o aplicativo ou uma dúvida para o desenvolvedor?
Por favor, entre em contato via e-mail - [email protected]
Dados de moedas fornecidos pela API CoinRanking
Imagens de estado vazio fornecidas por unDraw
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.