Este proyecto es una API REST básica desarrollada con Node.js, Express y PostgreSQL. También incluye una página web simple con HTML y TailwindCSS para probar las funciones de la API.
- API REST organizada.
- Respuestas codificadas en JSON.
- Códigos de respuesta HTTP estándar.
- Página web para probar las funciones de la API.
- Estilos con TailwindCSS.
- Configuración de CI con GitHub Actions.
POST /api/v1/auth
: Iniciar sesión.POST /api/v1/users
: Crear un nuevo usuario.DELETE /api/v1/users/:id
: Eliminar un usuario.
- Node.js
- PostgreSQL
-
Clona el repositorio:
git clone https://github.com/Kembec/simple-node-api.git cd simple-node-api
-
Instala las dependencias:
pnpm install o npm install
-
Configura las variables de entorno: Crea un archivo
.env
en la raíz del proyecto y agrega las siguientes variables:DB_NAME=nombre_de_tu_base_de_datos DB_USER=tu_usuario DB_PASSWORD=tu_contraseña DB_HOST=localhost DB_DIALECT=postgres DB_PORT=3000
-
Configura la base de datos:
npx sequelize-cli db:create npx sequelize-cli db:migrate
npm start
: Inicia el servidor en modo producción.npm run dev
: Inicia el servidor en modo desarrollo con observación de archivos.npm run build
: Compila los estilos de TailwindCSS.npm run watch:tailwind
: Observa los cambios en los estilos de TailwindCSS y los recompila.npm test
: Ejecuta las pruebas con Jest.npm run migrate
: Ejecuta las migraciones de la base de datos.npm run seed
: Ejecuta los seeds de la base de datos.
-
Inicia el servidor en modo desarrollo:
npm run dev
-
Abre tu navegador y navega a
http://localhost:3001
para ver la página web de prueba.
├── Readme.md
├── __tests__
│ ├── controllers
│ │ └── userController.test.ts
│ └── routes
│ └── userRoutes.test.ts
├── bs-config.json
├── jest.config.js
├── nodemon.json
├── package.json
├── pnpm-lock.yaml
├── postcss.config.js
├── public
│ ├── index.html
│ ├── scripts.js
│ └── styles.css
├── src
│ ├── app.ts
│ ├── config
│ │ └── database.ts
│ ├── controllers
│ │ └── userController.ts
│ ├── models
│ │ └── user.ts
│ ├── routes
│ │ └── userRoutes.ts
│ ├── services
│ │ └── userService.ts
│ └── types.ts
├── tailwind.config.js
└── tsconfig.json
- MIT License