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.
- 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.
- 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.
- 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.
Asegúrate de tener instalados los siguientes programas:
-
Clona el repositorio
git clone https://github.com/igrowker/i002-talentplace-back.git cd i002-talentplace-back
-
Instala las dependencias
npm install
-
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=
-
Compila el proyecto
npm run build
-
Inicia el servidor en modo desarrollo
npm start
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
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.
-
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.
-
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.
- Despliegue: https://i002-talentplace-back.onrender.com/
- Repositorio: https://github.com/igrowker/i002-talentplace-back
- Documentacion: Swagger