litepath
Version:
Microframework ligero para Node.js
200 lines (137 loc) • 4.27 kB
Markdown
# 🌟 LitePath v1

**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.