Skip to content

This is an application developed with Kotlin Multiplatform, utilizing design patterns and Clean Architecture. The project uses Jetpack Compose Multiplatform to create modern and responsive user interfaces for both Android and iOS.

Notifications You must be signed in to change notification settings

maeceloacm1998/Comu-Carona-APP-KMP

Repository files navigation

Comu Carona KMP Android – Icon

Descrição

Este projeto é um aplicativo Android e IOS desenvolvido com Kotlin, utilizando Jetpack Compose para a interface do usuário e Voyager para navegação e outras bibliotecas. O projeto também faz uso de várias bibliotecas populares para funcionalidades adicionais.

Tecnologias Utilizadas

  • Kotlin: Linguagem principal do projeto.
  • Jetpack Compose: Framework para construção de interfaces de usuário declarativas.
  • Voyager: Biblioteca de navegação para Compose.
  • Koin: Injeção de dependência.
  • Ktor: Cliente HTTP.
  • Coil: Carregamento de imagens.
  • JUnit: Testes unitários.
  • Coroutines: Programação assíncrona.
  • FileKit: Manipulação de arquivos.
  • PermissionsGallery: Gerenciamento de permissões.
  • Constraint Layout: Layouts complexos.
  • Compottie: Animações Lottie.
  • AndroidX SplashScreen: Tela de splash.
  • Moko Permissions: Para pegar permissões dentro do app.

Estrutura do Projeto

  • /composeApp: Código compartilhado entre as aplicações Compose Multiplatform.
    • commonMain: Código comum a todos os alvos.
    • Outras pastas: Código Kotlin compilado apenas para a plataforma indicada no nome da pasta.
  • /iosApp: Contém aplicativos iOS e código SwiftUI.
  • gradle/libs.versions.toml: Arquivo de configuração das versões das dependências.

Diretórios Principais

src/commonMain/kotlin/org/app/marcelodev/comucarona/

📁 commons/

Utilitários e funções compartilhadas

  • Extensões
  • Funções auxiliares
  • Classes base

🎨 components/

Componentes UI reutilizáveis

  • Botões customizados
  • Campos de texto
  • Diálogos
  • Cards

💉 di/

Injeção de dependência

  • Módulos Koin
  • Providers
  • Configurações de DI

feature/

Funcionalidades do aplicativo

  • Telas
  • ViewModels
  • Estados
  • Casos de uso

🔧 service/

Serviços e integrações

  • Chamadas de API
  • Armazenamento local
  • Gerenciamento de dados

🎯 theme/

Definições visuais

  • Cores
  • Tipografia
  • Dimensões
  • Estilos

Estrutura de Diretórios

composeApp/
└── src/
    └── commonMain/
        └── kotlin/
            └── org/
                └── app/
                    └── marcelodev/
                        └── comucarona/
                            ├── App.kt
                            ├── Greeting.kt
                            ├── Platform.kt
                            ├── commons/
                            ├── components/
                            ├── di/
                            ├── feature/
                            ├── service/
                            └── theme/

Dependências

As principais dependências do projeto estão listadas no arquivo gradle/libs.versions.toml. Aqui estão algumas delas:

  • filekit: 0.10.0-beta01
  • junit: 4.13.2
  • kotlin: 2.1.0
  • permissionsGallery: 0.19.1
  • voyagerVersion: 1.1.0-beta03
  • koin: 4.0.2
  • ktor: 3.1.1
  • coroutines: 1.9.0
  • constraint_layout: 0.5.1
  • coil: 3.0.4
  • compottie: 2.0.0-rc04
  • androidx-splashscreen: 1.0.1

Configuração do Ambiente

  1. Clone o repositório:

    git clone <URL_DO_REPOSITORIO>
  2. Abra o projeto no JetBrains Fleet:

    • Certifique-se de ter o JetBrains Fleet instalado.
  3. Sincronize o projeto com o Gradle:

    • O Android Studio deve sincronizar automaticamente, mas você pode forçar a sincronização clicando em File > Sync Project with Gradle Files.

Executando o Projeto

  1. Conecte um dispositivo ou inicie um emulador.
  2. Execute o aplicativo:
    • Clique no botão Run ou use o atalho Shift + F10.

Contribuição

  1. Fork o repositório.
  2. Crie uma branch para sua feature:
    git checkout -b minha-feature
  3. Commit suas mudanças:
    git commit -m 'Adiciona minha feature'
  4. Push para a branch:
    git push origin minha-feature
  5. Abra um Pull Request.

Kotlin Multiplatform

Este é um projeto Kotlin Multiplatform direcionado para Android e iOS.

About

This is an application developed with Kotlin Multiplatform, utilizing design patterns and Clean Architecture. The project uses Jetpack Compose Multiplatform to create modern and responsive user interfaces for both Android and iOS.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published