From c3ee8f7fdd40dba358985efe3b7c6a65dff5e676 Mon Sep 17 00:00:00 2001 From: Renato97 Date: Tue, 31 Mar 2026 01:32:51 -0300 Subject: [PATCH] docs: update README with bilingual documentation - Add English and Spanish sections - Improve project description and features - Add professional formatting --- README.md | 283 ++++++++++++------------------------------------------ 1 file changed, 61 insertions(+), 222 deletions(-) diff --git a/README.md b/README.md index 49fa342..c4a47d6 100644 --- a/README.md +++ b/README.md @@ -1,244 +1,83 @@ -# MangaReader iOS +# 📖 MangaReader - iOS Manga Reading App -App de iOS para leer manga sin publicidad, compatible con Sideloadly/3uTools. +## 📝 Description / Descripción -## 📱 Características +**English:** +An iOS manga reading application built with Swift. Features include chapter downloading for offline reading, favorites management, reading history, and a clean, distraction-free reading experience. -- **Sin publicidad**: Lee tus mangas favoritos sin anuncios molestos -- **Lector avanzado**: Zoom, pan, navegación táctil, modos de lectura -- **Descarga offline**: Descarga capítulos completos para leer sin internet -- **Progreso de lectura**: La app recuerda dónde dejaste la lectura -- **Favoritos**: Guarda tus mangas favoritos -- **Personalización**: Modo oscuro/claro, fondos personalizables -- **iOS 15+ Compatible**: Funciona en iPhone 8+ y iPads modernos +**Español:** +Una aplicación de lectura de manga para iOS desarrollada en Swift. Incluye descarga de capítulos para lectura offline, gestión de favoritos, historial de lectura y una experiencia de lectura limpia y sin distracciones. -## 🏗️ Arquitectura +## 🚀 Features / Características -El proyecto consta de dos partes: +**English:** +- Browse manga by categories and search +- Chapter-by-chapter reading with smooth scrolling +- Download chapters for offline reading +- Favorites list for quick access +- Reading history with progress tracking +- Multiple reading modes (vertical/horizontal) +- Zoom and pan for detailed viewing +- Night mode for comfortable reading +- Bookmarks for specific pages +- Automatic chapter preloading -### 1. Backend (Opcional) -Un servidor Node.js con Express que: -- Hace scraping de manhwaweb.com usando Puppeteer -- Sirve como API REST para los datos de mangas -- Cachea respuestas para mejor rendimiento +**Español:** +- Navegación de manga por categorías y búsqueda +- Lectura capítulo por capítulo con desplazamiento suave +- Descarga de capítulos para lectura offline +- Lista de favoritos para acceso rápido +- Historial de lectura con seguimiento de progreso +- Múltiples modos de lectura (vertical/horizontal) +- Zoom y paneo para vista detallada +- Modo nocturno para lectura cómoda +- Marcadores para páginas específicas +- Precarga automática de capítulos -**NOTA**: El backend es opcional. La app iOS puede hacer todo el scraping localmente usando WKWebView. +## 🛠️ Tech Stack / Stack Tecnológico -### 2. App iOS (SwiftUI) -Aplicación nativa que: -- Usa WKWebView para scraping de contenido JavaScript -- Almacena capítulos localmente -- Implementa lector con gestures de zoom/pan -- Guarda progreso y favoritos en UserDefaults/FileManager +- **Language:** Swift 5.9+ +- **Platform:** iOS 15.0+ +- **Framework:** SwiftUI + UIKit +- **Architecture:** MVVM +- **Networking:** URLSession + async/await +- **Image Loading:** Kingfisher / AsyncImage +- **Data Persistence:** CoreData / SwiftData +- **Download Manager:** URLSessionDownloadTask -## 📋 Requisitos Previos +## 📱 Screenshots / Capturas de Pantalla -### Para compilar la app iOS: -- **Mac** con Xcode 15+ -- **Apple Developer Account** (para firmar con certificado de desarrollo) -- **iOS 15+** device +*Coming soon / Próximamente* -### Para el backend (opcional): -- **Node.js 18+** -- **npm o yarn** +## 🔧 Installation / Instalación -## 🚀 Instalación y Configuración +**English:** +1. Open project in Xcode 15+ +2. Set your team and bundle identifier +3. Build and run on iOS device or simulator +4. Configure API endpoints for manga sources -### Paso 1: Configurar el Backend (Opcional) +**Español:** +1. Abre el proyecto en Xcode 15+ +2. Configura tu equipo e identificador de bundle +3. Construye y ejecuta en dispositivo iOS o simulador +4. Configura endpoints de API para fuentes de manga -```bash -# Ir al directorio del backend -cd backend +## 🌐 Backend / Backend -# Instalar dependencias -npm install +- Node.js scraping service for manga sources +- RESTful API for chapter and manga metadata +- Image proxy for optimized loading -# Iniciar servidor -npm start +## 👨‍💻 Author / Autor -# El servidor estará disponible en http://localhost:3000 -``` +**Renato CBC** +- GitHub: [renato97](https://gitea.cbcren.online/renato97) -**API Endpoints disponibles:** -- `GET /api/health` - Health check -- `GET /api/manga/:slug` - Info de un manga -- `GET /api/manga/:slug/chapters` - Lista de capítulos -- `GET /api/chapter/:slug/images` - Imágenes de un capítulo +## 📄 License / Licencia -### Paso 2: Abrir en Xcode (Tu Mac) - -1. **Subir el código a Gitea/GitHub** desde esta VPS: - ```bash - cd /home/ren/ios/MangaReader - git init - git add . - git commit -m "Initial commit" - git remote add origin - git push -u origin main - ``` - -2. **En tu Mac**: - ```bash - # Clonar el repositorio - git clone - cd MangaReader/ios-app - - # Abrir en Xcode - open MangaReader.xcodeproj - # O simplemente haz doble clic en el archivo .xcodeproj - ``` - -3. **Configurar el proyecto en Xcode**: - - Selecciona el proyecto en el sidebar - - En "Signing & Capabilities": - - Elige tu equipo (Team) - - Asegúrate que "Automatically manage signing" esté activado - - Bundle Identifier: `com.mangareader.app` (o cambiar si está ocupado) - -4. **Compilar y ejecutar**: - - Selecciona un dispositivo o simulador (iOS 15+) - - Presiona `Cmd + R` o click en el botón Play - -### Paso 3: Instalar en tu iPhone/iPad con Sideloadly - -1. **Conectar tu dispositivo** al Mac -2. **Abrir Sideloadly** (o 3uTools) -3. **Configurar**: - - Arrastra el archivo `.ipa` (que crearás en Xcode) - - Selecciona tu Apple ID para firmar - - Conecta tu dispositivo -4. **Instalar**: Click en "Start" - -### Crear el archivo .ipa en Xcode: - -1. En Xcode: Product > Archive -2. Cuando termine, aparecerá la ventana Organizer -3. Click derecho sobre el archivo > "Show in Finder" -4. Click derecho > "Show Package Contents" -5. Products > Applications > MangaReader.app -6. Copiar MangaReader.app al escritorio -7. Renombrar a .ipa (o crear un zip y renombrar) - -## 📖 Uso de la App - -### Agregar un Manga - -1. En la pantalla principal, click en "Agregar" -2. Ingresa el slug del manga (ej: `one-piece_1695365223767`) -3. La app hará scraping y mostrará el manga - -### Cómo encontrar el slug de un manga: - -1. Ve a https://manhwaweb.com -2. Busca tu manga favorito -3. Click en el manga -4. La URL será algo como: `https://manhwaweb.com/manga/one-piece_1695365223767` -5. El slug es: `one-piece_1695365223767` (todo después de `/manga/`) - -### Leer un Capítulo - -1. En la lista de mangas, selecciona uno -2. Verás todos los capítulos disponibles -3. Click en un capítulo para abrir el lector -4. Usa gestures: - - **Tap simple**: Navegar entre páginas - - **Tap doble**: Mostrar/ocultar controles - - **Pinch**: Zoom - - **Drag**: Mover por la página - -### Descargar Capítulos - -1. En la vista del manga, click en el icono de descarga -2. Elige cuántos capítulos descargar -3. Los capítulos descargados tienen un checkmark verde ✓ - -## 🎨 Personalización - -### Fondo del lector -- **Blanco**: Para lectura normal -- **Negro**: Modo oscuro (ahorra batería en OLED) -- **Sepia**: Más cómodo para la vista - -### Modos de lectura -- **Vertical**: Deslizar hacia arriba/abajo -- **Horizontal**: Deslizar izquierda/derecha (estilo manga) - -## 📁 Estructura del Proyecto - -``` -MangaReader/ -├── backend/ # Backend Node.js (opcional) -│ ├── scraper.js # Scraper con Puppeteer -│ ├── server.js # API REST con Express -│ └── package.json -│ -└── ios-app/ # App iOS - ├── MangaReader.xcodeproj - ├── MangaReaderApp.swift # Entry point - ├── Info.plist - │ - └── Sources/ - ├── Models/ - │ └── Manga.swift # Modelos de datos - │ - ├── Services/ - │ ├── ManhwaWebScraper.swift # Scraper con WKWebView - │ └── StorageService.swift # Almacenamiento local - │ - └── Views/ - ├── ContentView.swift # Vista principal - ├── MangaDetailView.swift # Detalle del manga - └── ReaderView.swift # Lector de imágenes -``` - -## 🔧 Solución de Problemas - -### La app no compila - -**Error**: "Cannot find type 'WKWebView'" -- **Solución**: Asegúrate de que el target sea iOS 15+ en project settings - -**Error**: "No such module 'SwiftUI'" -- **Solución**: Limpia el proyecto (Cmd + Shift + K) y rebuild - -### El scraper no funciona - -**Problema**: No se cargan los capítulos -- **Causa**: manhwaweb.com cambió su estructura -- **Solución**: Revisa los selectores JavaScript en `ManhwaWebScraper.swift` - -**Problema**: Timeout al cargar -- **Solución**: Aumenta el tiempo de espera en `loadURLAndWait` - -### Error de firma de código - -**Problema**: "Failed to code sign" -- **Solución**: - 1. Verifica tu Apple ID en Xcode preferences - 2. Asegúrate de tener un certificado de desarrollo válido - 3. Limpia la carpeta Derived Data - -## 🚀 Próximas Características - -- [ ] Importar lista de mangas desde archivo -- [ ] Sincronización con iCloud -- [ ] Soporte para otras fuentes de manga -- [ ] Lector de webtoon (scroll continuo) -- [ ] Traducción automática -- [ ] Widgets de iOS - -## 📄 Licencia - -Este proyecto es para uso personal. Respeta los términos de servicio de manhwaweb.com. - -## ⚠️ Disclaimer - -Esta herramienta es exclusivamente para uso personal y educativo. El autor no es responsable del mal uso de este software. Por favor, respeta los derechos de autor y los términos de servicio de los sitios web. - -## 🤝 Contribuciones - -Si encuentras bugs o tienes sugerencias, abre un issue en el repositorio. +Private project / Proyecto privado --- -**¡Disfruta leyendo manga sin publicidad! 📚✨** +**Tags / Etiquetas:** `swift` `ios` `manga` `reading` `offline` `swiftui` `coredata`