Skip to the content.

Reto Final - API LFG (Looking For Groups)

Tabla de contenido

0. Documentación técnica

⬆ Volver al índice

Toda la documentación técnica referente a los endpoints se encuentra en /docs.

1. Descripción

⬆ Volver al índice

Dada la situación sanitaria, una empresa tecnológica a estado trabajando en remoto desde marzo de 2020. Esto ha implicado que nuestros compañeros hayan perdido el contacto humano que siempre se ha tenido, y es algo que la empresa desea cambiar.

La empresa quiere dar un impulso a la manera que tienen los trabajadores de relacionarse, permitiendo que contacten entre ellos creando grupos de interés.

Una primera fase de este proyecto es crear una aplicación web LFG, que permita que los empleados puedan contactar con otros compañeros para formar grupos para jugar a un videojuego, con el objetivo de poder compartir un rato de ocio afterwork.

2. Requisitos Funcionales

⬆ Volver al índice

Los requisitos funcionales de la aplicación son los siguientes:

  1. RF - Los usuarios se tienen que poder registrar a la aplicación, estableciendo un usuario/contraseña.
  2. RF - Los usuarios tienen que autenticarse a la aplicación haciendo login.
  3. RF - Los usuarios tienen que poder crear Parties (grupos) por un determinado videojuego.
  4. RF - Los usuarios tienen que poder buscar Parties seleccionando un videojuego.
  5. RF - Los usuarios pueden entrar y salir de una Party.
  6. RF - Los usuarios tienen que poder enviar mensajes a la Party. Estos mensajes tienen que poder ser editados y borrados por su usuario creador.
  7. RF - Los mensajes que existan a una Party se tienen que visualizar como un chat común.
  8. RF - Los usuarios pueden introducir y modificar sus datos de perfil, por ejemplo, su usuario de Steam.
  9. RF - Los usuarios tienen que poder hacer logout de la aplicación web.

3. Objetivos

⬆ Volver al índice

Realizar una API REST completa, con Django, que cumpla con los requisitos anteriormente planteados.

Que además proporcione y asegure:

Y como preferidos:

4. Stack Tecnológico

⬆ Volver al índice

Para el desarrollo de la API utilizaremos PostgreSQL con Django:

Como Sistema Control de Versiones se utilizará Git, hosteado en Github, haciendo uso de Git-Flow.

5. Cómo usar la aplicación

⬆ Volver al índice

Configurar el entorno

Ejecutar los siguientes comandos

python -m pipenv install
python -m django lfg/manager.py makemigrations
python -m django lfg/manager.py migrate

Crear un fichero llamado lfg/conf.py con el siguiente contenido:

username = 'postgres'
password = '1234'
host = 'localhost'
port = '5432'

Ejecutar la aplicación

python -m django lfg/manager.py runserver

Desde la web

El superusuario es:

Testeado contra fuerza bruta para que no se pueda acceder

Desde la API

Una vez iniciada la aplicación con ... runserver

http://localhost:8000/{entidad}

6. Licencia

⬆ Volver al índice

El proyecto utiliza la licencia MIT, para más información, acceda al fichero LICENSE

7. Registro de cambios

⬆ Volver al índice

Todos los cambios relevantes realizados al proyecto/repositorio quedarán registrados en el fichero CHANGELOG.md.

8. Créditos

⬆ Volver al índice

⬆ Volver arriba ⬆