SkillLink Frontend es una aplicación web desarrollada con React y TypeScript que complementa la plataforma SkillLink, conectando a desarrolladores mediante mentorías y desafíos colaborativos. Ofrece una interfaz amigable, moderna y completamente integrada con el backend en Spring Boot.
- Registro, inicio de sesión y logout con JWT
- Control de sesión con expiración y rutas protegidas
- Creación y edición de perfil técnico
- Tecnologías, intereses y experiencia profesional
- Control de visibilidad público/privado
- Listado con filtros avanzados
- Participación en sesiones y challenges
- Sistema de cupos y estado de participación
- Chats directos entre usuarios
- Chats grupales para desafíos y mentorías
- WebSocket integrado con reconexión automática
- Filtro por tipo de contenido, tecnologías, nivel de dificultad
- Búsqueda por nombre, rol o descripción
- Actividad reciente del usuario
- Sesiones activas y desafíos en curso
| Categoría | Herramienta | Versión | Propósito |
|---|---|---|---|
| Framework | React | 18.x | UI SPA |
| Lenguaje | TypeScript | 5.x | Tipado estático |
| Build Tool | Vite | 5.x | Bundling y desarrollo |
| Estilos | TailwindCSS | 3.x | Utilidades CSS |
| Estado | Zustand / Context API | - | Manejo de estado global |
| Formularios | React Hook Form + Zod | - | Validaciones |
| API | Axios | - | Peticiones HTTP |
| WebSocket | STOMP.js + SockJS | - | Comunicación en tiempo real |
📁 src/
├── api/ # Servicios HTTP
├── auth/ # Autenticación y sesión
├── components/ # Componentes reutilizables
├── features/ # Funcionalidades: chat, perfiles, etc.
├── hooks/ # Hooks personalizados
├── pages/ # Vistas principales
├── routes/ # Ruteo público y privado
├── types/ # Tipos y enums globales
├── utils/ # Utilidades varias
└── App.tsx # Aplicación principal
- Node.js 18+
- npm o pnpm
- Vite (opcional)
git clone https://github.com/R-Mutt22/skilllink-frontend.git
cd skilllink-frontend
npm installCrear un archivo .env en la raíz:
VITE_API_URL=https://alumnithon-bad-batch-backend.onrender.com
VITE_WEBSOCKET_URL=wss://alumnithon-bad-batch-backend.onrender.com/wsnpm run devAbrir en navegador: http://localhost:5173
- Token guardado en
Cookies - Axios intercepta y adjunta el token en cada request
- Rutas protegidas con
PrivateRoute - Logout automático al expirar el token
import axios from 'axios';
const API = axios.create({
baseURL: import.meta.env.VITE_API_URL,
});
API.get('/api/profiles/me').then(response => {
console.log(response.data);
});- Conexión usando
STOMP.js - Soporte para mensajes directos
- Hook personalizado:
useChatSocket()
npm run build- Conectar el repositorio a Netlify
- Variables de entorno:
VITE_API_URLVITE_WEBSOCKET_URL
- Build command:
npm run build - Publish directory:
dist
| Desarrollador |
|---|
| Leodan |
| Zotta |
| Monik |
MIT License
Copyright (c) 2025
SkillLink Frontend - Bad Batch Team