Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/moisesgj/moisesgj-links
MoisesGJ Links es una aplicación de acortamiento de URLs construida con Node.js y MongoDB. Permite a los usuarios generar enlaces acortados y recuperarlos fácilmente. Incluye validaciones y almacenamiento de datos en MongoDB.
https://github.com/moisesgj/moisesgj-links
api-rest back-end express mongo mongod
Last synced: 18 days ago
JSON representation
MoisesGJ Links es una aplicación de acortamiento de URLs construida con Node.js y MongoDB. Permite a los usuarios generar enlaces acortados y recuperarlos fácilmente. Incluye validaciones y almacenamiento de datos en MongoDB.
- Host: GitHub
- URL: https://github.com/moisesgj/moisesgj-links
- Owner: MoisesGJ
- Created: 2024-08-23T04:06:15.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-03T23:29:37.000Z (about 2 months ago)
- Last Synced: 2024-10-11T05:41:29.994Z (about 1 month ago)
- Topics: api-rest, back-end, express, mongo, mongod
- Language: JavaScript
- Homepage: https://moisesgj-links.vercel.app
- Size: 1010 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🌐 MoisesGJ Links
![MoisesGJ Links](https://img.shields.io/badge/Proyecto-MoisesGJ_Links-brightgreen) ![Node.js](https://img.shields.io/badge/Node.js-v22.6.0-blue)
**MoisesGJ Links** es un servicio de acortamiento de URL que permite a los usuarios crear y gestionar enlaces acortados. Este proyecto se integra con MongoDB para el almacenamiento de datos y proporciona rutas esenciales para la gestión de enlaces.
## 🚀 Características
- **Crear y Usar Hipervínculos**: Genera URLs acortadas y rastrea su uso.
- **Integración con MongoDB**: Almacena y gestiona URLs y sus equivalentes acortados.
- **API RESTful**: Accede a las principales rutas para la creación y gestión de enlaces.
- **Preparado para el Futuro**: Arquitectura limpia preparada para futuras características.## 🛠 Instalación
Para comenzar con **MoisesGJ Links**, sigue estos pasos:
1. **Clonar el Repositorio**:
```bash
git clone https://github.com/MoisesGJ/moisesgj-links.git
cd moisesgj-links
```2. **Instalar Dependencias**:
Asegúrate de tener [Node.js](https://nodejs.org/) y [npm](https://www.npmjs.com/) instalados. Luego, ejecuta:
```bash
npm install
```3. **Configurar Variables de Entorno:**:
Crea un archivo .env en el directorio raíz del proyecto y añade tu URI de MongoDB (puedes seguir también la estructura del archivo .env.example):
````bash
PORT=
DB_URI=mongodb://localhost:27017
DB_NAME=moisesgj-links
BASE_URL=http://localhost:3001
```
Asegúrate de reemplazar mongodb://localhost:27017/moisesgj-links con la URI adecuada para tu base de datos MongoDB, si es diferente.````
4. **Iniciar la Aplicación:**:
Para iniciar la aplicación en modo de desarrollo, ejecuta:
````bash
npm run dev
```Para iniciar la aplicación en modo producción, ejecuta:
```bash
npm start
```
Esto iniciará el servidor en el puerto especificado en el archivo .env. Puedes acceder a la aplicación en http://localhost:3000 o en el puerto que hayas configurado.````
5. **Verificar el Funcionamiento:**:
Para verificar el funcionamiento, puedes usar herramientas como Postman, Insomnia o cURL para probar las rutas de la API. Haz una peticion GET a http://localhost:3000 para verificar que la aplicación está funcionando correctamente.
## 📚 Rutas de la API
### **POST** `api/links`
Crea un nuevo enlace acortado.
- **Descripción**: Permite a los usuarios crear un nuevo enlace acortado.
- **Cuerpo de la Solicitud**:```json
{
"url": ""http://ejemplo.com"
"shortUrl": "acortado",
}
```- **Respuesta exitosa**:
```json
{
"shortLink": "http://ejemplo.com/acortado"
}
```- **Códigos de estado**:
- **200**: Creado
- **400**: Error### **GET** `/:shortUrl`
Hace la redirección a la URL original.
- **Descripción**: Permite a los usuarios obtener la redirección de la URL original a partir de un enlace acortado.
- **Parámetros de Ruta:**: `shortUrl` (string): El enlace acortado que se desea consultar.- **Códigos de estado**:
- **302**: Redireccionado
- **404**: No se ha encontrado el enlace proporcionado