API RESTful para la gestión de usuarios y roles, construida con Node.js y Express. Incluye validaciones robustas, arquitectura modular y middlewares optimizados.
Foc API Rest es un backend que permite gestionar usuarios y roles mediante endpoints REST. Está diseñada para ser fácil de mantener y escalar, con validaciones sólidas y separación clara de responsabilidades.
- Arquitectura modular (rutas, controladores, validadores, middlewares)
- Validación de datos con
express-validator - CRUD completo para usuarios y roles
- Middleware para manejo eficiente de errores
- Respuestas en formato JSON
- Node.js – Entorno de ejecución backend
- Express.js – Framework para APIs REST
- express-validator – Validación de datos
- cors – Permite peticiones desde otros orígenes
- dotenv – Variables de entorno
- Clona el repositorio:
git clone https://github.com/Tuteque-man/Foc-API-Rest.git cd Foc-API-Rest-16-06-2025 - Instala las dependencias:
npm install
- (Opcional) Crea un archivo
.enven la raíz y define el puerto si lo deseas:API_PORT=3500
- Inicia el servidor:
npm start
El servidor estará disponible en http://localhost:3500 (o el puerto que definas).
GET /api/role→ Listar todos los rolesGET /api/role/:id→ Obtener un rol por IDPOST /api/role→ Crear un nuevo rolPUT /api/role/:id→ Actualizar un rolDELETE /api/role/:id→ Eliminar un rol
GET /api/user→ Listar todos los usuariosGET /api/user/:id/:role_id/:status→ Obtener un usuario por ID, rol y estadoPOST /api/user→ Crear un nuevo usuarioPUT /api/user/:id/:role_id/:status→ Actualizar un usuarioDELETE /api/user/:id/:role_id/:status→ Eliminar un usuario
# Crear un rol
curl -X POST http://localhost:3500/api/role \
-H "Content-Type: application/json" \
-d '{"name": "admin"}'
# Listar usuarios
curl http://localhost:3500/api/userFoc-Api-Rest-16-06-2025/
├── src/
│ ├── app.js # Punto de entrada
│ ├── server/
│ │ └── server.js # Configuración del servidor
│ ├── controllers/ # Lógica de negocio (usuarios, roles)
│ ├── routes/ # Definición de rutas
│ ├── validators/ # Validaciones de datos
│ └── middleware/ # Middlewares personalizados
├── package.json
├── README.MD
└── mensaje.txt
- Angello
Este proyecto está bajo la licencia ISC.