Contenido 📝
- Objetivo🎯
- Sobre el proyecto 📰
- Stack ✨
- Diagrama BD 🌐
- Instalación en local 💻
- Endpoints 🎢
- Futuras funcionalidades ✅
- Webgrafia 👓
- Compañeros de equipo 🐱👤:
Este proyecto requería una API funcional conectada a una base de datos en la que simula una aplicación web que permite a los usuarios contactar con otros usuarios a través de salas de videojuegos con la tecnología PHP Laravel. Además, este proyecto se ha realizado en grupo para así poder trabajar herramientas de gestión de tickets (organización de tareas a través de una plataforma como trello), trabajo en equipo y gestión del tiempo de forma eficiente.
LFG Backend es una aplicación web dónde los usuarios podrán registrarse e iniciar sesión para así poder crear salas en función a una lista de videojuegos para que otros usuarios puedan unirse para conversar en dichas salas.
Tecnologías utilizadas:
Nota: para este proyecto será necesario tener instalado en local PHP y Composer
- Clonar el repositorio
- Instalamos dependencias
$ composer install
- Conectamos nuestro repositorio con la base de datos, para ello creamos el archivo .env copiando los datos de .env.example y rellenamos los campos con la conexión a nuestra base de datos en local.
- Ejecutamos las migraciones
$ php artisan migrate
- Ejecutamos los seeders
$ php artisan db:seed
- Iniciamos el servidor
$ php artisan serve
- ...
Endpoints
Credenciales SuperAdmin: ``` js
{
"email": "super_admin@super_admin.com",
"password": "123456"
}
```
-
AUTH
- REGISTER POST http://localhost:3000/api/register POST localhost:8000/api/auth/register body: ```js { "nickName": "Datata", "fullName": "Dani Apellido", "email": "[email protected]", "password": "princess", } ``` - LOGIN POST http://localhost:3000/api/login POST localhost:8000/api/auth/login
body:
```js { "email": "super_admin@super_admin.com", "password": "123456" } ```
-
USERS
-
UPDATE PROFILE
PUT localhost:8000/api/users/profile
Auth: token usuario logeado body:
{ "fullname": "Fnatic", }
-
DELETE PROFILE
DELETE localhost:8000/api/users/profile
Auth: token usuario logeado
-
GET PROFILE
GET localhost:8000/api/users/profile Auth: token usuario logeado
-
GET ALL USERS
GET localhost:8000/api/users Auth: token super_admin
-
-
GAMES
-
CREATE GAME
POST localhost:8000/api/games
Auth: token SuperAdmin body:
{ "game_name": "Genshin Impact", "description": "Gachapon mundo abierto" "game_image": "https://preview.redd.it/ntccsv49x1a51.png?auto=webp&s=defee6ae55163ba253a3a7fa9007e584d5087bac" }
-
GET GAMES
GET localhost:8000/api/games
-
UPDATE GAME
PUT localhost:8000/api/games/{id}
Auth: token SuperAdmin body:
{ "description": "Descripción editada" }
-
DELETE GAME
DELETE localhost:8000/api/games/{id}
Auth: token SuperAdmin
-
-
MESSAGES
-
CREATE MESSAGE
POST localhost:8000/api/messages/{id}
Auth: token usuario logeado body:
{ "message": "Hola a todos", }
-
GET ROOM MESSAGES
GET localhost:8000/api/messages
-
UPDATE MESSAGE
PUT localhost:8000/api/messages/{id}
Auth: token usuario logeado body:
{ "message": "Adiós a todos", }
-
-
DELETE MESSAGE
DELETE localhost:8000/api/messages/{id}
Auth: token super_admin
-
ROOMS
-
CREATE ROOM
POST localhost:8000/api/rooms
Auth: token usuario logeado body:
{ "room_name": "TOP Tier", "room_description" : "equipo competitivo", "game_id":"1" }
-
UPDATE ROOM
PUT localhost:8000/api/rooms/{id}
Auth: token usuario logeado body:
{ "room_name": "Fnatic", }
-
DELETE ROOM
DELETE localhost:8000/api/rooms/{id}
Auth: token usuario logeado
-
GET GAMEROOM
GET localhost:8000/api/rooms/{game_id} Auth: token usuario logeado
-
JOIN ROOM
POST localhost:8000/api/rooms/{room_id}/join Auth: token usuario logeado
-
LEAVE ROOM
DELETE localhost:8000/api/rooms/{room_id}/leave Auth: token usuario logeado
-
[✔] Aplicación de validaciones [ ] Endpoint traer usuarios de una sala
Para conseguir mi objetivo he recopilado información de: