Skip to content

Wilder-Aguilar/gitGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

GitGame 🎮

Bienvenidos a GitGame, una plataforma completa para los apasionados de los videojuegos. Aquí encontrarás noticias, videos, lanzamientos y reseñas de los títulos más actuales y relevantes. Nuestra plataforma ofrece una experiencia personalizada con contenido exclusivo para usuarios registrados.

image

Índice


Características

GitGame permite a los usuarios acceder a contenido sobre videojuegos de diversas maneras. Aquí están las secciones principales:

  1. Noticias: Las últimas novedades sobre videojuegos, eventos, lanzamientos, y más.
  2. Videos: Contenido multimedia relacionado con análisis, tráilers y eventos de videojuegos.
  3. Lanzamientos: Información sobre próximos títulos y fechas de lanzamiento.
  4. Reviews: Análisis y opiniones sobre los últimos lanzamientos, realizados por usuarios y administradores.

Además, GitGame ofrece un sistema de autenticación y control de usuarios para moderar el acceso y la creación de contenido.

Tecnologías Utilizadas

GitGame está construido con una variedad de tecnologías modernas para ofrecer una experiencia de usuario rápida y una arquitectura robusta en el servidor. A continuación, se listan las principales herramientas y frameworks utilizados en el proyecto.

Frontend (Client)

React: Biblioteca de JavaScript para construir interfaces de usuario interactivas y dinámicas.

Vite: Herramienta de construcción rápida y ligera para desarrollar proyectos con React.

Tailwind CSS: Framework de CSS basado en utilidades para diseñar de forma rápida y eficiente.

Axios: Cliente HTTP para realizar peticiones al backend de forma sencilla.

TypeScript : Aplicado en el back-end mejorando la escalabilidad, seguridad y mantenimiento del código con tipado estático.

Backend (Server)

Node.js: Entorno de ejecución de JavaScript en el servidor.

Express.js: Framework de servidor para Node.js que simplifica la gestión de rutas y peticiones HTTP.

JWT: Tecnología para manejar la autenticación y autorización de usuarios.

Bcrypt: Librería para el hash de contraseñas, asegurando la seguridad de los datos sensibles.

Multer: Middleware para manejar la subida de archivos en las rutas del servidor.

MySQL Workbench: Facilita la gestión y el diseño de la Base de Datos.

Sequelize: ORM (Object-Relational Mapper) para interactuar con la base de datos de forma más intuitiva.

Jest Supertst: Framework de testing y herramienta para realizar pruebas unitarias y de integración.

Instalación

Para ejecutar Git_Game en tu entorno local, sigue estos pasos:

  1. Clona el repositorio:

    git clone https://github.com/Wilder-Aguilar/gitGame.git
    
  2. Instalar dependencias en el front-end:

       cd gitgame/client
       npm install
    
  3. Instalar dependencias en el back-end:

       cd ../server
       npm install
    
  4. Configurar variables de entorno: Crea un archivo .env en el directorio server con las configuraciones necesarias, como la conexión a la base de datos.

         DB_PASSWORD = "INTRODUCE LA CONTRASEÑA DE TU MYSQL WORKBENCH"
         DB_HOST=localhost
         DB_USER=root (Verifica tu MySQL Workbench)
         DB_DEV_NAME=git_game
         DB_TEST_NAME=git_game_test
         PORT=3000 
         DB_PORT=3306  (Verifica tu MySQL Workbench)
         JWT_SECRET= "INTRODUCE LA CONTRASEÑA JWT"
    
  5. Ejecutar el proyecto:

Inicia el servidor desde el directorio server:

      npm run dev

Inicia el cliente desde el directorio client:

      npm run dev

Roles y Permisos

La plataforma define permisos específicos según el rol del usuario:

Rol Permisos
Usuario Puede ver contenido y crear reseñas de videojuegos.
Admin Puede crear, editar y eliminar noticias, videos, lanzamientos y reseñas.

Recursos de Diseño y Base de Datos

drawSQL-image-export-2024-11-13

Estructura

        gitgame/
      ├── client/                  # Código del frontend (interfaz de usuario)
      │   ├── node_modules/        # Dependencias del cliente
      │   ├── public/              # Archivos estáticos (imágenes, CSS, index.html)
      │   ├── src/                 # Código fuente de la aplicación cliente
      │   │   ├── components/      # Componentes reutilizables de React
      │   │   ├── pages/           # Páginas principales (Noticias, Videos, etc.)
      │   │   ├── services/        # Servicios y llamadas a la API
      │   │   ├── utils/           # Utilidades y funciones auxiliares
      │   │   └── App.js           # Componente principal de la aplicación
      │   ├── eslint.config.js     # Configuración de ESLint
      │   ├── postcss.config.js    # Configuración de PostCSS
      │   ├── tailwind.config.js   # Configuración de TailwindCSS
      │   └── vite.config.js       # Configuración de Vite
      ├── server/                  # Código del backend (API y lógica del servidor)
      │   ├── controllers/         # Controladores que gestionan la lógica de las rutas
      │   ├── database/            # Configuración de la base de datos
      │   ├── interfaces/          # Definiciones de tipos de datos e interfaces
      │   ├── middleware/          # Middleware para autenticación, logs, etc.
      │   ├── models/              # Modelos de la base de datos (ORM)
      │   ├── node_modules/        # Dependencias del servidor
      │   ├── routes/              # Definición de las rutas de la API
      │   ├── uploads/             # Archivos subidos por los usuarios
      │   ├── utils/               # Funciones de utilidad usadas en el servidor
      │   └── .env                 # Variables de entorno para el servidor
      └── README.md                # Documentación del proyecto

Uso

Para usar GitGame, sigue los pasos a continuación:

Registro e Inicio de Sesión: Los usuarios deben registrarse o iniciar sesión para interactuar con la plataforma.

Explorar Secciones: Los usuarios pueden explorar noticias, videos y lanzamientos de forma libre.

Crear Reseñas: Los usuarios registrados pueden crear y ver reseñas.

Acciones del Administrador: Los administradores pueden crear, editar y eliminar noticias, videos, lanzamientos y reseñas.

contexto

Herramientas y Utilidades

  • Git: Sistema de control de versiones para seguimiento de cambios en el código.
  • GitHub : Plataforma para alojar el repositorio, colaborar y gestionar issues.
  • dotenv : Librería para manejar variables de entorno, manteniendo la configuración sensible segura y separada del código fuente.

Estas tecnologías fueron seleccionadas para ofrecer un equilibrio entre rendimiento, escalabilidad y facilidad de desarrollo, permitiendo que GitGame sea una plataforma rápida, segura y fácil de mantener.

Documentación de la API

Esta documentación proporciona una guía completa para interactuar con nuestra API, diseñada para facilitar la integración y el uso de los servicios backend. A través de Postman, podrás realizar pruebas, explorar los distintos endpoints y comprender las respuestas de la API de manera efectiva.

Postman Documentación

Visionado de la web

image image image image image

Autores

Vada Velázquez - GitHub linkedin

Yeder Pimentel - GitHub linkedin

Oury Diallo - GitHub linkedin

Arturo Mencia - GitHub linkedin

Wilder Aguilar - GitHub linkedin

Canva

Get_to_Know_Our_Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5