UNPKG

litepath

Version:

Microframework ligero para Node.js

200 lines (137 loc) 4.27 kB
# 🌟 LitePath v1 ![LitePath Logo](./public/images/logo.png) **LitePath** es un **microframework ligero para Node.js**. Diseñado para **proyectos educativos, pruebas rápidas, mini páginas web y aplicaciones web sencillas**. --- ## Características principales - Minimalista y fácil de entender - Manejo de rutas dinámicas (`/user/:id`) - Middlewares y manejo de errores - Archivos estáticos (`HTML`, `CSS`, `JS`) perfecto para **web y mini apps** - Conexión a MongoDB - Ideal para la **comunidad educativa** - Permite crear **mini aplicaciones web completas** --- ## Estructura del proyecto litepath/ ├─ litepath.js Motor del microframework ├─ app.js Ejemplo de aplicación ├─ db.js Conexión a MongoDB ├─ cleanDB.js Script para limpiar la DB ├─ public/ Archivos frontend (HTML/CSS/JS) ├─ index.html ├─ style.css └─ script.js ├─ package.json └─ README.md ## Instalación rápida git clone https://github.com/TU_USUARIO/litepath.git cd litepath npm install npm start Abre tu mini app web en: http://localhost:3000/ --- ## Ejecutar LitePath ### 1️⃣ Instalación global (disponible en cualquier terminal) npm install -g litepath ### Luego podrás ejecutar tu microframework desde cualquier lugar con: litepath --- ### 2️⃣ Instalación local (dentro de tu proyecto) npm install litepath ### Para usarlo localmente, tienes dos opciones: #### Usando npx: npx litepath #### O agregando un script en package.json: "scripts": { "start": "node app.js" } #### ejecutar: npm start --- ## Crear Proyecto litepath init MiProyecto --- ## Entrar al proyecto y arrancar el servidor: cd MiProyecto litepath --- ## Código backend (app.js) const LitePath = require('./litepath'); const db = require('./db'); const app = new LitePath(); // Middleware de logging app.use((req, res, next) => { console.log(`[${new Date().toISOString()}] ${req.method} ${req.path}`); next(); }); // Rutas básicas app.get('/', (req, res) => res.send('Hola mundo!')); app.post('/echo', (req, res) => res.json({ recibido: req.body })); // Archivos estáticos app.serveStatic('./public'); // Middleware de error app.use((err, req, res, next) => { console.error(err.message); res.statusCode = 500; res.json({ error: '¡Ocurrió un error!' }); }); app.listen(3000, () => console.log('Servidor en http://localhost:3000')); --- ## Diagrama de flujo Navegador/Cliente LitePath (Servidor) ┌───────────────┐ Middlewares Rutas GET/POST│ Archivos Est. └───────────────┘ Base de Datos (MongoDB) --- ## Rutas de prueba | Método | Ruta | Descripción | | ------ | -------- | ------------------------------- | | GET | `/` | Página principal o mini web | | GET | `/error` | Lanza un error de prueba | | POST | `/echo` | Devuelve el JSON recibido | | GET | `/users` | Lista de usuarios desde MongoDB | --- ## Frontend / Mini Web - Carpeta public/ incluye index.html, style.css y script.js. - Permite crear mini páginas web completas y aplicaciones web sencillas. --- ## Ejemplo index.html: <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Mi mini web con LitePath</title> <link rel="stylesheet" href="style.css"> </head> <body> <h1>Bienvenido a LitePath</h1> <p>Esta es tu mini aplicación web servida desde LitePath.</p> <section> <h2>Usuarios</h2> <button id="loadUsers">Cargar usuarios</button> <ul id="userList"></ul> </section> <script src="script.js"></script> </body> </html> --- ## Contribuir - Fork del repositorio - Crear tu rama: git checkout -b feature/nueva-ruta - Hacer tus cambios - Commit: git commit -m "Agrega nueva ruta" - Push: git push origin feature/nueva-ruta - Pull Request --- ## ⚖ Licencia [MIT License](./LICENSE) Libre para uso educativo, comunitario y personal.