🌳 DevTree

  • API REST desarrollada con Node.js, Express y TypeScript para gestionar los usuario. Permite la creación, consulta, actualización y eliminación de usuarios, asegurando un manejo eficiente de los datos.
  • Cliente realizado con React para la interfaz de usuario.Tailwind CSS para estilizar la interfaz.

BACKEND

🚀 Tecnologías utilizadas

  • 🟢 Node.js - Entorno de ejecución de JavaScript.
  • Express.js - Framework para construir la API REST.
  • 🟦 TypeScript - Tipado estático para mayor robustez.
  • 🐘 MongoDB - Base de datos relacional utilizada.
  • 🔐 JWT (JSON Web Tokens) - Autenticación segura.
  • 📡 CORS - Configuración de seguridad para peticiones externas.

📡 Endpoints de la API

La API expone los siguientes endpoints:

🌱 Autenticación

  • POST /auth/register → Registra un nuevo usuario.
  • POST /auth/login → Inicia sesión y devuelve un token JWT.

🌿 Gestión de Usuarios

  • GET /user → Obtiene la lista de usuarios.
  • POST /user → Crea un nuevo usuario.
  • GET /user/:id → Obtener usuario especifico.
  • PUT /user/:id → Actualiza la información del usuario
  • DELETE /user/:id → Elimina un usuario

📌 Manejo de Errores: Todas las respuestas incluyen códigos HTTP adecuados y mensajes descriptivos.


🔐 Autenticación

  • Se usa JWT para autenticación de usuarios.

Para acceder a endpoints protegidos, es necesario enviar un token en el header:

Authorization: Bearer <token_jwt>
El token se genera al iniciar sesión (/auth/login).

Nota: : Deploy del Web service realizado en Render, la capa gratuita tiende a demorar de 1 a 2 minutos para su primera respuesta.

📦 Instalación y Configuración

Sigue estos pasos para instalar y ejecutar el proyecto localmente:

  1. Clona el repositorio:

    git clone https://github.com/brizusan/fake-tree-backend.git
    cd fake-tree-backend
    
  2. Configura las variables de entorno:

    DATABASE_URL=postgresql://usuario:password@localhost:5432/fake_tree
    JWT_SECRET=clave_secreta
    PORT=4000
    
  3. Inicia el servidor:

    npm run dev
    

FRONTEND

🚀 Tecnologías utilizadas

  • ⚛️ React - Biblioteca para la construcción de interfaces de usuario.
  • 🟦 TypeScript - Tipado estático para mayor seguridad y mantenibilidad.
  • Vite - Entorno de desarrollo rápido y eficiente.
  • 🎨 Tailwind CSS - Framework para un diseño responsivo y moderno.
  • 🔗 Axios - Cliente HTTP para la comunicación con la API.
  • 🔗 React Query - Librería para la gestión de estados y consultas de datos de manera optimizada.

✨ Funcionalidades

Visualización de Redes Sociales
Gestión de Redes Sociales: Agregar, editar y eliminar links de redes sociales.
Seleccionar orden: Puedes ordenar como se mostrarán los links de redes sociales(Drag & Drop). ✅ Persistencia de datos: Comunicación con un backend para almacenar los cambios.
Autenticación con JWT: Permite gestionar sesiones de usuario.
Actualizacion de Informacion: Permite actualizar la información del usuario.

📌 Manejo de Errores: Todas las respuestas incluyen códigos HTTP adecuados y mensajes descriptivos.


📜 Licencia

Este proyecto está bajo la licencia MIT.