Una REST API construida con Node.js para gestionar un CRUD de una tabla products en SQL Server. Esta aplicación utiliza Express como framework principal, mssql para la conexión con la base de datos y otras dependencias para facilitar el desarrollo.
Asegúrate de tener instalados los siguientes requisitos antes de comenzar:
- Node.js (v16 o superior)
- SQL Server (con una base de datos configurada y acceso a una tabla
productsyvvusers) - Un editor de texto o IDE (Visual Studio Code recomendado)
-
Clona el repositorio:
git clone https://github.com/tu-usuario/node-sqlserver-restapi.git cd node-sqlserver-restapi -
Instala las dependencias necesarias:
npm install
-
Crea un archivo
.enven la raíz del proyecto con la configuración de tu base de datos. Ejemplo:DB_USER=tu_usuario DB_PASSWORD=tu_password DB_SERVER=localhost DB_DATABASE=nombre_de_tu_base DB_PORT=1433
-
Asegúrate de que el puerto especificado en
src/index.jsesté disponible (por defecto: 3000).
-
Inicia el servidor en modo desarrollo:
npm run dev
-
La API estará disponible en:
http://localhost:3000
La API incluye :
Operaciones CRUD sobre la tabla products:
- GET
/products: Obtiene todos los productos. - GET
/products/:id: Obtiene un producto por su ID. - POST
/products: Crea un nuevo producto. - PUT
/products/:id: Actualiza un producto existente por su ID. - DELETE
/products/:id: Elimina un producto por su ID.
Login sobre la tabla vvusers:
- POST
/login: Login user.
{
"id": 1,
"name": "cargador hp",
"price": 35,
"quantity": 5,
"description": "cargador laptop hp"
}{
"user": "myuser",
"password": "mypassword"
}- Node.js: Entorno de ejecución para JavaScript.
npm init -y **** (crea archivo package.json para crear dependencias,...) - Express: Framework para crear la API REST.
npm i express **** (crea código servidor más sencillo con funciones precreadas) - mssql: Conexión con SQL Server.
npm i mssql
- dotenv: Gestión de variables de entorno.
npm i dotenv
- cors: Habilitar Cross-Origin Resource Sharing.
npm i cors
- morgan: Middleware para registro de peticiones HTTP.
npm i morgan
- nodemon: Recargar el servidor en modo desarrollo.
npm i nodemon -D
node-sqlserver-restapi/
├── src/
│ ├── database
│ └── connection.js # Configuración de la conexión a la base de datos SQL Server
│ ├── contollers
│ └── products.controllers.js # Controladores del CRUD de products
│ └── login.controllers.js # Controladores para el login
│ └── routes/
│ └── products.routes.js # Rutas de la API para los productos
│ └── login.routes.js # Rutas de la API para el login
│ ├── app.js
│ ├── config.js # Configuraciones a base de datos, server, apiKey y otros (npm install dotenv --save)
│ ├── index.js
├── .env # Archivo de ejemplo para variables de entorno
├── dbSql/
│ └── db.sql # pruebas SQL para ejecutar directamente (es necesario tener instalada la extensión `SQL Server (mssql)`)
├── package.json # Información del proyecto y dependencias
└── README.md # Documentación del proyecto
Si deseas contribuir a este proyecto:
- Haz un fork del repositorio.
- Crea una nueva rama para tu funcionalidad:
git checkout -b nueva-funcionalidad
- Realiza tus cambios y haz un commit:
git commit -m "Descripción de los cambios" - Envía tus cambios al repositorio remoto:
git push origin nueva-funcionalidad
- Crea un Pull Request.
Este proyecto está bajo la licencia ISC. Consulta el archivo LICENSE para más detalles.