Skip to content

IsraelDeveloperMaster/KotlinCaniveteSuico

Repository files navigation

🇧🇷 Português

🇪🇸 Español

🇬🇧 Inglés



languages graph

PORTUGUÊS

🛠️ Kotlin Canivete Suíço

O Kotlin Canivete Suíço é um aplicativo desenvolvido com Kotlin e Jetpack Compose, projetado para ser um conjunto de ferramentas úteis, utilizando as melhores práticas do desenvolvimento Android. Ele segue os princípios de Clean Architecture e MVVM, garantindo modularidade, testabilidade e escalabilidade.

🚀 Tecnologias e Bibliotecas Utilizadas

🏢 Arquitetura e Gerenciamento de Estado

  • Clean Architecture → Organização modular e separação de responsabilidades.
  • MVVM (Model-View-ViewModel) → Melhor separação entre UI e lógica de negócios.
  • Jetpack Compose → Framework moderno para construção de UI declarativa.
  • LiveData → Observabilidade reativa para atualização de UI.
  • ViewModel → Gerenciamento do ciclo de vida dos componentes de UI.
  • Lifecycle → Manipulação do ciclo de vida dos componentes Android.
  • Flow → Programação reativa moderna com suporte a Coroutines.

🎨 UI e Experiência do Usuário

  • Material Components → Interface moderna seguindo o Material Design.
  • Navigation Component → Gerenciamento de navegação entre telas.
  • Navigation Drawer → Implementação do menu lateral padrão do Android.
  • Data Binding → Ligação direta entre componentes de UI e ViewModel.
  • Binding → Simplificação da interação entre a UI e os dados.

📝 Persistência e Armazenamento

  • Room → Banco de dados local SQLite com ORM nativo.
  • DataStore → Substituto moderno do SharedPreferences para armazenamento de pequenas quantidades de dados.
  • Cloud Firestore → Banco de dados NoSQL escalável e em tempo real.

🔒 Autenticação e Comunicação com API

  • Firebase Authentication → Gerenciamento seguro de usuários.
  • Retrofit → Cliente HTTP para chamadas de API de forma eficiente.

🌍 Localização e Mapas

  • Google Maps → Exibição de mapas interativos.
  • Location Services API → Acesso à localização do dispositivo.

🖼️ Imagens e Mídia

  • Picasso → Carregamento e cache eficiente de imagens.

🧬 Testes Automatizados

  • Mockito → Mocking de dependências para testes unitários.
  • JUnit → Testes unitários para lógica de negócios.
  • Espresso → Testes instrumentados para UI.

💉 Injeção de Dependências

  • Hilt → Gerenciamento de dependências simplificado e eficiente.

📀 Estrutura do Projeto

O projeto segue o padrão de Clean Architecture, dividido em:

  • Domain → Regras de negócio e casos de uso.
  • Data → Repositórios e manipulação de dados.
  • Presentation → Camada de UI e ViewModels.

📲 Como Rodar o Projeto

  1. Clone o repositório:
    git clone https://github.com/seu-usuario/kotlin-canivete-suico.git  
  2. Abra no Android Studio (versão mais recente recomendada).
  3. Configure uma conta no Firebase e adicione o arquivo google-services.json.
  4. Compile e execute no emulador ou dispositivo físico.

Contribuições

Contribuições são bem-vindas! Fique à vontade para abrir issues ou enviar pull requests.

Licença

Este projeto está licenciado sob a Licença MIT.

ESPAÑOL

🛠️ Kotlin Cuchillo Suizo

El Kotlin Cuchillo Suizo es una aplicación desarrollada con Kotlin y Jetpack Compose, diseñada para ser un conjunto de herramientas útiles, utilizando las mejores prácticas del desarrollo Android. Sigue los principios de Clean Architecture y MVVM, garantizando modularidad, capacidad de prueba y escalabilidad.

🚀 Tecnologías y Bibliotecas Utilizadas

🏢 Arquitectura y Gestión de Estado

  • Clean Architecture → Organización modular y separación de responsabilidades.
  • MVVM (Model-View-ViewModel) → Mejor separación entre la UI y la lógica de negocio.
  • Jetpack Compose → Framework moderno para la construcción de UI declarativa.
  • LiveData → Observabilidad reactiva para la actualización de la UI.
  • ViewModel → Gestión del ciclo de vida de los componentes de la UI.
  • Lifecycle → Manipulación del ciclo de vida de los componentes de Android.
  • Flow → Programación reactiva moderna con soporte para Coroutines.

🎨 UI y Experiencia de Usuario

  • Material Components → Interfaz moderna siguiendo el diseño Material Design.
  • Navigation Component → Gestión de navegación entre pantallas.
  • Navigation Drawer → Implementación del menú lateral estándar de Android.
  • Data Binding → Vínculo directo entre componentes de UI y ViewModel.
  • Binding → Simplificación de la interacción entre la UI y los datos.

📝 Persistencia y Almacenamiento

  • Room → Base de datos local SQLite con ORM nativo.
  • DataStore → Reemplazo moderno de SharedPreferences para el almacenamiento de pequeñas cantidades de datos.
  • Cloud Firestore → Base de datos NoSQL escalable y en tiempo real.

🔒 Autenticación y Comunicación con API

  • Firebase Authentication → Gestión segura de usuarios.
  • Retrofit → Cliente HTTP para llamadas a API de manera eficiente.

🌍 Localización y Mapas

  • Google Maps → Visualización de mapas interactivos.
  • Location Services API → Acceso a la ubicación del dispositivo.

🖼️ Imágenes y Multimedia

  • Picasso → Carga y almacenamiento en caché eficiente de imágenes.

🧬 Pruebas Automatizadas

  • Mockito → Simulación de dependencias para pruebas unitarias.
  • JUnit → Pruebas unitarias para la lógica de negocio.
  • Espresso → Pruebas instrumentadas para la UI.

💉 Inyección de Dependencias

  • Hilt → Gestión de dependencias simplificada y eficiente.

📀 Estructura del Proyecto

El proyecto sigue el patrón de Clean Architecture, dividido en:

  • Domain → Reglas de negocio y casos de uso.
  • Data → Repositorios y manipulación de datos.
  • Presentation → Capa de UI y ViewModels.

📲 Cómo Ejecutar el Proyecto

  1. Clona el repositorio:
    git clone https://github.com/seu-usuario/kotlin-canivete-suico.git  
  2. Ábrelo en Android Studio (se recomienda la versión más reciente).
  3. Configura una cuenta en Firebase y agrega el archivo google-services.json.
  4. Compila y ejecuta en un emulador o dispositivo físico.

Contribuciones

Las contribuciones son bienvenidas. No dudes en abrir issues o enviar pull requests.

Licencia

Este proyecto está licenciado bajo la Licencia MIT.

INGLÉS

🛠️ Kotlin Swiss Knife

The Kotlin Swiss Knife is an application developed with Kotlin and Jetpack Compose, designed to be a set of useful tools, utilizing the best practices in Android development. It follows the principles of Clean Architecture and MVVM, ensuring modularity, testability, and scalability.

🚀 Technologies and Libraries Used

🏢 Architecture and State Management

  • Clean Architecture → Modular organization and separation of responsibilities.
  • MVVM (Model-View-ViewModel) → Better separation between UI and business logic.
  • Jetpack Compose → Modern framework for declarative UI construction.
  • LiveData → Reactive observability for UI updates.
  • ViewModel → Lifecycle management of UI components.
  • Lifecycle → Handling of Android component lifecycle.
  • Flow → Modern reactive programming with Coroutines support.

🎨 UI and User Experience

  • Material Components → Modern interface following Material Design.
  • Navigation Component → Navigation management between screens.
  • Navigation Drawer → Implementation of the standard Android side menu.
  • Data Binding → Direct link between UI components and ViewModel.
  • Binding → Simplification of UI and data interaction.

📝 Persistence and Storage

  • Room → Local SQLite database with native ORM.
  • DataStore → Modern replacement for SharedPreferences for storing small amounts of data.
  • Cloud Firestore → Scalable and real-time NoSQL database.

🔒 Authentication and API Communication

  • Firebase Authentication → Secure user management.
  • Retrofit → HTTP client for efficient API calls.

🌍 Localization and Maps

  • Google Maps → Interactive map visualization.
  • Location Services API → Access to device location.

🖼️ Images and Multimedia

  • Picasso → Efficient image loading and caching.

🧬 Automated Testing

  • Mockito → Dependency mocking for unit testing.
  • JUnit → Unit testing for business logic.
  • Espresso → Instrumented UI testing.

💉 Dependency Injection

  • Hilt → Simplified and efficient dependency management.

📀 Project Structure

The project follows the Clean Architecture pattern, divided into:

  • Domain → Business rules and use cases.
  • Data → Repositories and data handling.
  • Presentation → UI layer and ViewModels.

📲 How to Run the Project

  1. Clone the repository:
    git clone https://github.com/seu-usuario/kotlin-canivete-suico.git  
  2. Open it in Android Studio (latest version recommended).
  3. Set up a Firebase account and add the google-services.json file.
  4. Compile and run on an emulator or physical device.

Contributions

Contributions are welcome! Feel free to open issues or submit pull requests.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published