TypeNote es una aplicación móvil nativa desarrollada en Swift y SwiftUI, inspirada en herramientas de productividad como Notion y Bear. Ofrece una experiencia de notas personal, moderna y elegante, enfocada en la velocidad, la simplicidad y la seguridad de la información mediante la integración con AWS Amplify.
- Autenticación segura: flujo completo de registro e inicio de sesión basado en AWS Cognito.
- Gestión completa de notas (CRUD):
- Crear nuevas notas de forma intuitiva.
- Recuperar y listar todas las notas de forma eficiente.
- Update: editar el contenido, la categoría y el color de las notas existentes.
- Delete: eliminar notas de forma permanente.
- Organización visual: categorización de notas con asignación de colores para una identificación rápida.
- Diseño minimalista: interfaz elegante y centrada en la escritura, siguiendo los principios de diseño de iOS.
- Persistencia en la nube: sincronización automática de las notas para mantener la información actualizada en todos los dispositivos.
| Categoría | Tecnología / Framework | Versión |
|---|---|---|
| Lenguaje | Swift | 5.9 |
| UI Framework | SwiftUI | 4.0+ |
| Arquitectura | MVVM (Model-View-ViewModel) | N/A |
| Backend | AWS Amplify (BaaS) | Latest |
| Dependencias | Swift Package Manager (SPM) | N/A |
La aplicación utiliza AWS Amplify para establecer una infraestructura serverless robusta y escalable:
- AWS Cognito: gestión de la autenticación de usuarios (registro, login, sesiones).
- AWS DynamoDB: base de datos NoSQL para el almacenamiento persistente de las notas.
- AWS API Gateway & Lambda: capa de API REST para las operaciones CRUD de las notas.
Antes de compilar el proyecto necesitas tener instalado:
- macOS con Xcode 15.0+ (incluye el SDK de iOS y los simuladores).
- Swift 5.9+ (viene incluido con Xcode).
- Node.js y npm, necesarios para instalar el CLI de Amplify:
npm install -g @aws-amplify/cli
- AWS CLI instalado y configurado con credenciales válidas (
aws configure). - Una cuenta de AWS con acceso a Cognito, DynamoDB, Lambda y API Gateway.
- Un simulador de iOS (p. ej. iPhone 15 Pro) o un dispositivo físico.
-
Clonar el repositorio:
git clone https://github.com/NinaDIV/TypeNote-iOS-Notes-App.git cd TypeNote-iOS-Notes-App -
Verificar la configuración de Amplify:
Nota: se asume que el backend ya está aprovisionado. Si no lo está, ejecuta
amplify inity sigue las instrucciones del CLI.Asegúrate de que el archivo de configuración de Amplify esté en la raíz del proyecto:
ls amplifyconfiguration.json
-
Abrir el proyecto en Xcode:
open NotesApp.xcodeproj
Xcode resolverá automáticamente las dependencias de Swift Package Manager.
-
Compilar y ejecutar:
- Selecciona un simulador de iOS (p. ej. iPhone 15 Pro).
- Haz clic en el botón Run (▶) o usa
Cmd + R. - Al iniciar, el simulador mostrará la pantalla de login/registro (AWS Cognito); tras autenticarte verás el listado principal de notas (
MainView).
El proyecto sigue el patrón MVVM para una mejor modularidad:
TypeNote-iOS-Notes-App/
├── NotesApp.xcodeproj/ # Proyecto de Xcode
├── NotesApp/
│ ├── Model/ # Estructuras de datos (Note, Category)
│ ├── View/ # Vistas SwiftUI (AuthView, MainView, NoteDetailView, ...)
│ └── ViewModel/ # Lógica de negocio y comunicación con AWS
│ # (AuthViewModel, NotesViewModel)
├── Sources/ # Código fuente del paquete Swift
├── Tests/ # Pruebas del paquete Swift
├── Galeri01/ # Capturas de pantalla y video de demostración
├── Package.swift # Manifiesto de Swift Package Manager
└── amplifyconfiguration.json # Configuración del backend de Amplify
El contenido visual del proyecto (capturas de pantalla y un video de demostración) se encuentra en la carpeta Galeri01/.
Muestra la interfaz de autenticación para un acceso seguro.
Vista que permite registrar una nueva nota, incluyendo la selección de categoría y color.
Muestra la MainView con el listado de notas optimizado, destacando la organización visual por color.
Interfaz para visualizar el contenido completo y modificar la nota existente.
El video demuestra el flujo completo de la aplicación: autenticación, CRUD de notas y sincronización en la nube.
▶ Ver video completo de funcionamiento (MP4)
- Backend (AWS Amplify) — Implementado por Alarcón Paricanaza Anderson Aaron
Incluye:
- Configuración de AWS Amplify (inicialización del proyecto)
- Implementación de AWS Cognito para autenticación
- Implementación de AWS DynamoDB como base de datos NoSQL
- Creación de Lambdas y configuración de API Gateway para el CRUD
- Integración total del backend con la app iOS




