Nota abierta
OpenNote es una aplicación moderna de toma de notas Android construida completamente con composición.
Se desarrolla con Kotlin (composición) y sigue el patrón de arquitectura MVVM (Model-View-ViewModel) junto con principios de arquitectura limpia.
¿Cómo usar OpenNote con Markdown, Matemáticas de látex y diagramas de sirena?
Puede saber más sobre cómo usar OpenNote con Diagramas de Markdown, Matemáticas de látex y sirena en la guía.
Características
- Cree, edite y elimine las notas : los usuarios pueden crear, editar y eliminar notas sin esfuerzo.
- Cree, edite y elimine las carpetas : organice las notas de manera eficiente con las funcionalidades de gestión de carpetas.
- Clasificación y filtrado : clasifique fácilmente y filtre notas y carpetas según varios criterios.
- Mueve las notas : mueva sin problemas las notas entre diferentes carpetas para una mejor organización.
- Bin de basura : mueva de forma segura las notas a la basura para el almacenamiento temporal antes de la eliminación permanente.
- Reconocimiento de texto de OCR : utiliza ML Kit y CamerAx para el reconocimiento de caracteres ópticos (OCR) directamente de las imágenes.
- Soporte de Markdown : admite la sintaxis de Markdown con sabor a CommonMark y GitHub (GFM) para opciones de formato versátiles.
- Soporte de matemáticas de látex : admite la sintaxis matemática de látex para ecuaciones matemáticas.
- Soporte del diagrama de sirena : admite la sintaxis de sirena para crear diagramas y diagramas de flujo.
- Modo de texto enriquecido : ofrece una experiencia de escritura simplificada con capacidades básicas de edición de texto rico.
- Opciones de exportación : las notas se pueden exportar en varios formatos, incluidos TXT, MD (Markdown) y HTML para compartir y uso versátiles.
- Material 3 Diseño : se adhiere a las pautas de diseño de materiales para una interfaz de usuario moderna y cohesiva.
- Diseño receptivo : optimizado para dispositivos con diferentes tamaños de pantalla y orientaciones.
Capturas de pantalla
Detalle técnico
- Lenguajes de programación : Kotlin
- Herramienta de compilación : Gradle con Kotlin DSL
- Versión de Android : la aplicación se dirige a Android SDK versión 34 y es compatible con dispositivos que ejecutan Android SDK versión 29 y superior.
- Versión de Kotlin : la aplicación usa Kotlin versión 2.0.0.
- Versión de Java : la aplicación usa Java versión 17.
Arquitectura
- MVVM (Model-View-ViewModel) : separa la lógica de la interfaz de usuario de la lógica de negocios, proporcionando una clara separación de las preocupaciones.
- Arquitectura limpia : enfatiza la separación de preocupaciones y capas de abstracción, lo que hace que la aplicación sea más modular, escalable y mantenible.
Bibliotecas y marcos
- Compose : un kit de herramientas moderno para construir una interfaz de usuario nativa de Android.
- Pilt : una biblioteca de inyección de dependencia para Android.
- KSP (API de procesamiento de símbolos de Kotlin) : mejora la compilación de Kotlin con procesamiento de metadatos adicionales.
- Habitación : una biblioteca de persistencia que proporciona una capa de abstracción sobre SQLite.
- Componga la navegación : simplifica la implementación de la navegación entre pantallas.
- Iconos de material : proporciona iconos de diseño de material para elementos visuales consistentes.
- ML Kit : utilizado para el reconocimiento de texto de OCR.
- Camerax : utilizado para la funcionalidad de cámara personalizada.
Política de privacidad y permisos requeridos
Puede encontrar la Política de privacidad y los permisos requeridos en la Política de privacidad.
Instalación
Para construir y ejecutar esta aplicación, debe instalar la última versión de Android Studio. Luego, puede clonar este repositorio desde GitHub y abrirlo en Android Studio.
git clone https://github.com/YangDai2003/OpenNote.git
En Android Studio, seleccione Run > Run 'app' para iniciar la aplicación.
Contribución
¡Cualquier forma de contribución es bienvenida! Si encuentra un error o tiene una nueva solicitud de función, cree un problema. Si desea contribuir con código directamente a este proyecto, puede crear una solicitud de extracción.
Referencias
- Maskanim: Implementación de la función de conmutación de temas utilizando la animación de Mask.
HACER