Skip to content
This repository has been archived by the owner on Jul 31, 2024. It is now read-only.

igrowker/i002-talentplace-back

Repository files navigation

Descripción de la imagen

Talent Place Backend API🚀

Descripción 📄

Talent Place es una plataforma web innovadora que conecta desarrolladores junior con proyectos freelance en el sector IT. Nuestra misión es facilitar la colaboración entre empresas y jóvenes talentos, ofreciendo un entorno seguro y eficiente para la gestión de proyectos.

Problema que se Intenta Resolver

  1. Para las Empresas: Identificar y contratar desarrolladores junior con las habilidades adecuadas es una tarea ardua. La falta de visibilidad y la dificultad para evaluar competencias específicas hacen que el proceso de selección sea ineficiente y costoso.
  2. Para los Desarrolladores Junior: Encontrar oportunidades laborales que permitan crecer profesionalmente y adquirir experiencia real es complicado. Muchos enfrentan barreras de entrada altas y una competencia intensa.

Solución Propuesta

  • Conecta Empresas y Talentos: Facilita la búsqueda y selección de desarrolladores junior cualificados mediante un sistema intuitivo y transparente.
  • Gestión Eficiente de Proyectos: Proporciona herramientas robustas para la gestión de proyectos.
  • Crecimiento Profesional: Ofrece a los desarrolladores junior la oportunidad de trabajar en proyectos reales, permitiéndoles ganar experiencia práctica y construir un portafolio sólido.

Nuestra API backend es el motor que impulsa esta plataforma, proporcionando servicios esenciales como autenticación de usuarios, gestión de perfiles, asignación de proyectos.

Tecnologías y Herramientas Utilizadas 🛠️

  • TypeScript TypeScript
  • Node.js Node.js
  • PostgreSQL PostgreSQL
  • Express.js Express.js
  • Docker Docker
  • GitHub Actions GitHub

Instalación 💻

Asegúrate de tener instalados los siguientes programas:

  1. Clona el repositorio

    git clone https://github.com/igrowker/i002-talentplace-back.git
    cd i002-talentplace-back
  2. Instala las dependencias

    npm install
  3. Configura las variables de entorno Crea un archivo .env en la raíz del proyecto y añade las siguientes variables:

    PORT=3000
    DB_HOST=localhost
    DB_USERNAME=
    DB_PASSWORD=
    DB_NAME_DATABASE=
    JWT_SECRET=
    
  4. Compila el proyecto

    npm run build
  5. Inicia el servidor en modo desarrollo

    npm start

Estructura del Proyecto 📁

El proyecto sigue una estructura de carpetas organizada para mantener el código modular y fácil de gestionar.

i002-talentplace-back/
├── .github/            # Configuración y flujos de trabajo de GitHub
├── @types/             # Declaraciones de tipos TypeScript
├── node_modules/       # Módulos de Node.js
├── src/                # Código fuente
│   ├── config/         # Configuración de la aplicación
│   ├── controllers/    # Controladores de la API
│   ├── doc/            # Documentación del proyecto
│   ├── dto/            # Objetos de transferencia de datos
│   ├── entities/       # Entidades de TypeORM
│   ├── helpers/        # Funciones de ayuda
│   ├── interfaces/     # Interfaces TypeScript
│   ├── middlewares/    # Middlewares de Express
│   ├── routes/         # Definición de rutas
│   ├── services/       # Lógica de negocio y servicios
│   ├── utils/          # Utilidades y funciones auxiliares
│   ├── index.ts        # Punto de entrada de la aplicación
│   └── server.ts       # Configuración del servidor
├── .dockerignore       # Ignorar archivos en Docker
├── .env                # Variables de entorno
├── .envDEFAULT         # Archivo de ejemplo para variables de entorno
├── .gitignore          # Ignorar archivos en Git
├── Dockerfile          # Configuración de Docker
├── nodemon.json        # Configuración de Nodemon
├── package-lock.json   # Bloqueo de versiones de paquetes
├── package.json        # Dependencias y scripts de npm
├── README.md           # Documentación del proyecto
└── tsconfig.json       # Configuración de TypeScript

Documentación y Pruebas de la API con Swagger 📚

Para facilitar la documentación y las pruebas de la API, hemos integrado Swagger en nuestro proyecto. Swagger proporciona una interfaz de usuario interactiva que permite a los desarrolladores explorar y probar los diferentes endpoints de la API de manera sencilla.

Rutas Disponibles para Swagger

  1. Interfaz Interactiva de Swagger

    • URL: http://localhost:3000/api/v1/docs
    • Descripción: Esta ruta sirve la interfaz de usuario de Swagger UI, donde puedes ver todos los endpoints documentados, sus métodos, parámetros, y ejemplos de respuesta. Además, puedes realizar peticiones directamente desde esta interfaz para probar los diferentes endpoints de la API.
  2. Especificación JSON de Swagger:

    • URL: http://localhost:3000/api/v1/docs.json
    • Descripción: Esta ruta proporciona la especificación completa de la API en formato JSON. Es útil para integraciones automáticas y para generar clientes de API en diferentes lenguajes de programación.

Despliegues y Repositorios 🚀

Backend

Integrantes del proyecto

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •