Notes App

Aplicación utilitaria para crear y gestionar notas personales.

Notes App es una aplicación de funcionalidad básica pero de diseño limpio, claro y robusto. Mi principal objetivo al desarrollarla fue implementar una arquitectura MVC claramente segmentada haciendo de esta, una aplicación de fácil mantenimiento. También me enfoqué en dar una buena experiencia de usuario, al implementar tablas con animaciones, navegación a través de una TabBar y vistas ágiles a prueba de errores. Mi motivación al trabajar en este proyecto fue la de implementar diferentes técnicas de persistencia de datos locales, así como madurar habilidades y buenas prácticas de programación en Swift.

Izquierda: Pantalla de Inicio. Centro: Pantalla de creación. Derecha: Pantalla de Configuración.
Muestra de la aplicación.

Características

  • Aplicación utilitaria para crear y gestionar notas personales.
  • Diseño de arquitectura MVC.
  • Crea, edita y elimina notas de texto personales.
  • Cada nota tiene un título y un cuerpo.
  • Permite personalizar las vistas con una configuración de usuario persistente.
  • Persistencia de datos locales con UserDefaults para la configuración de usuario y FileManager para las notas.
  • Gestión del modelo de datos de las Notas con un UITableViewDiffableDataSource, el cual ofrece una mejor experiencia de usuario.
  • Navegación entre las notas y la configuración de usuario con un UITabBar.
  • Navegación y transferencia de datos entre las vistas de las Notas por medio de Segues.
  • Implementa un patrón de diseño de Delegamiento.

Tecnologías/Frameworks

  • UIKit: Para el diseño de la interfaz de usuario.
  • Protocolos/Delegamiento: Para las operaciones sobre el modelo de datos.
  • UserDefaults: Para la persistencia de datos de la configuraicón de usuario.
  • FileManager: Para la persistencia de datos de las notas.
  • UITableViewDiffableDataSource Para la presentación del modelo de datos (notas).