Skip to content

choco-latito29/Back-mochila

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backend API - MochilaCup 🏆

GitHub last commit Node.js Express.js MongoDB

Backend oficial para la plataforma de gestión de torneos MochilaCup. Una API RESTful robusta y escalable construida para manejar toda la lógica del torneo, desde la autenticación de administradores hasta la progresión automática de los brackets de playoffs.


✨ Características Principales

  • 🔐 Autenticación Segura: Sistema de login basado en roles (admin, manager y moderator) con JSON Web Tokens (JWT).
  • 👥 Gestión de Equipos: Operaciones CRUD completas para equipos, incluyendo la subida de logos.
  • ⚔️ Gestión de Partidas: Creación, actualización de resultados y seguimiento de partidas de fase de grupos y playoffs.
  • 🚀 Brackets Automáticos: Lógica inteligente para generar y avanzar las llaves de playoffs (Upper/Lower) basándose en los resultados de las partidas.
  • 📢 Módulo de Anuncios: API para publicar noticias e interactuar con comentarios y reacciones.
  • 🎤 Gestión de Staff: Endpoints dedicados para administrar casters y aplicar sanciones a equipos.
  • 📝 Auditoría de Acciones: Sistema de logs para registrar todas las acciones críticas realizadas por los administradores.

🛠️ Stack Tecnológico

Componente Tecnología
Runtime Node.js
Framework Express.js
Base de Datos MongoDB con Mongoose
Autenticación JSON Web Token (JWT) & Bcrypt.js
Archivos Multer
Variables Dotenv

🚀 Puesta en Marcha

Sigue estos pasos para configurar y ejecutar el proyecto en tu entorno de desarrollo local.

Pre-requisitos

Instalación

  1. Clona el repositorio:

    git clone https://github.com/choco-latito29/Back-mochila.git
    
    cd Back-mochila
  2. Instala las dependencias del proyecto:

    npm install
  3. Configura las variables de entorno: Crea un archivo .env en la raíz del proyecto. Puedes usar el archivo .env como plantilla.

    cp .env

    Ahora, abre el archivo .env y añade tus credenciales:

    # URL de conexión a tu base de datos MongoDB
    MONGODB = "mongodb+srv://<user>:<password>@cluster.../database_name"
    
    # Puerto en el que correrá el servidor (ej. 8080)
    PORT = 8080
    
    # Clave secreta para firmar los tokens JWT. ¡Hazla larga y segura!
    JWT_SECRET = "ESTA_ES_UNA_CLAVE_SECRETA_MUY_LARGA_Y_DIFICIL_DE_ADIVINAR_123!"
  4. Inicia el servidor:

    node server.js

    ¡Listo! La API estará escuchando en http://localhost:PORT (el puerto que definiste en .env).


🗺️ Endpoints Principales de la API

Método Ruta Descripción Acceso
POST /api/auth/login Inicia sesión y obtiene un token JWT. Público
GET /api/users Obtiene la lista de todos los usuarios. Admin
POST /api/users Crea un nuevo usuario. Admin
GET /api/teams Obtiene todos los equipos. Público
POST /api/teams Crea un nuevo equipo. Manager/Admin
GET /api/matches Obtiene todas las partidas. Público
PUT /api/matches/:id/score Registra el resultado de una partida. Manager/Admin
POST /api/matches/generate-playoffs Genera automáticamente el bracket de playoffs. Admin
GET /api/news Obtiene todos los anuncios. Público
GET /api/casters Obtiene todos los casters. Público

🤝 Contribuciones

Las contribuciones son el corazón de la comunidad de código abierto. Cualquier aporte que hagas será muy bienvenido.

  1. Haz un Fork del proyecto.
  2. Crea tu propia rama (git checkout -b feature/AmazingFeature).
  3. Haz commit de tus cambios (git commit -m 'Add some AmazingFeature').
  4. Haz push a la rama (git push origin feature/AmazingFeature).
  5. Abre un Pull Request.

📜 Licencia

Distribuido bajo la Licencia MIT. Ver LICENSE.txt para más información.

(Ver Licencia)

About

Backend de la Mochila Cup

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors