API REST para Gestión de Vehículos | Desarrollo Backend
Desarrollar una API REST completa que permite la gestión de información de vehículos, implementando operaciones CRUD (Crear, Leer, Actualizar y Eliminar) utilizando Node.js y Express.js. Los datos se persisten en un archivo JSON, simulando una base de datos.
📌 Nota: Este proyecto demuestra la implementación de una API REST siguiendo las mejores prácticas de desarrollo y documentación con Swagger.
- Node.js
- Express.js
- Swagger UI Express
- Body Parser
- File System (fs)
- 📊 CRUD Completo: Operaciones completas para gestión de vehículos
- 📖 Documentación Swagger: API completamente documentada
- 💾 Persistencia de Datos: Almacenamiento en archivo JSON
- 🔎 Búsqueda por ID: Endpoint específico para consultas individuales
- 📤 Respuestas HTTP: Manejo apropiado de códigos de estado
- ✅ Validación de Datos: Verificación de información entrante
- Obtener Todos los Vehículos
http
GET /vehiculos- Obtener Vehículo por ID
GET /vehiculos/id/:id- Crear Nuevo Vehículo
POST /vehiculos- Actualizar Vehículo
PUT /vehiculos/id/:id- Eliminar Vehículo
DELETE /vehiculos/id/:id{
"id": 1,
"anio": 2024,
"marca": "Honda",
"modelo": "Civic",
"color": "Rojo",
"tipo": "Coupe",
"kilometraje": 31000,
"combustible": "Gasolina",
"transmision": "Manual",
"precio": 18000,
"numero_de_puertas": 2,
"numero_de_asientos": 2
}
- Node.js (versión 14 o superior)
- npm (gestor de paquetes de Node.js)
- Docker y Docker Compose (opcional, para despliegue containerizado)
- Clonar el Repositorio
git clone https://github.com/luismanuelcldev/APIREST_NodejsExpressjs_CRUD.git
cd APIREST_NodejsExpressjs_CRUD- Instalar Dependencias
npm install- Iniciar el Servidor
node index.jso
npm run devEl servidor se iniciará en http://localhost:3000
- Construir y ejecutar con Docker Compose
docker-compose up -d- Verificar los contenedores en ejecución
docker-compose ps- Detener los contenedores
docker-compose downEl servidor API estará disponible en http://localhost:3000 La documentación Swagger estará disponible en http://localhost:8080
http://localhost:3000/api-docs├── index.js # Punto de entrada de la aplicación ├── db.json # Archivo de base de datos ├── requests.http # Ejemplos de peticiones HTTP ├── package.json # Dependencias y configuración ├── Dockerfile # Configuración para construir la imagen Docker ├── docker-compose.yml # Configuración de servicios Docker ├── .dockerignore # Archivos ignorados en la construcción de Docker └── README.md # Documentación
- Luis Manuel De la Cruz Ledesma
- 📧 Email: ledesmadelacruzluismanuel@gmail.com
POST http://localhost:3000/vehiculos
Content-Type: application/json
{
"anio": 2026,
"marca": "Honda",
"modelo": "Civic",
"color": "Rojo",
"tipo": "Coupe",
"kilometraje": 25000,
"combustible": "Gasolina",
"transmision": "Manual",
"precio": 18000,
"numero_de_puertas": 2,
"numero_de_asientos": 2
}PUT http://localhost:3000/vehiculos/id/1
Content-Type: application/json
{
"precio": 33000
}Este proyecto está bajo la Licencia MIT - vea el archivo LICENSE.md para más detalles
⭐️ Si encuentras útil este proyecto, ¡no olvides darle una estrella en GitHub! ⭐️
