A web server to save and process all the data for FP2 client
To run the dev environment you'll need to set some environment variables on .env
. You can use .env.example
as a boilerplate
Start the containers with the application and database. There's a docker-compose.yml
that orchestry all the containers. So the command bellow will start all the containers detached -d
.
# check if you have docker and docker compose installed in your machine with:
# docker -v && docker compose -v
docker compose up -d
As I'm using prisma ORM all the prisma cli commands need to be executed inside the container running the application
e.g.
docker compose exec npx prisma migrate dev
I want to build an application, so you could find someone to play your favorite games no matter what plataform you're in.
- GET
[/users/?filters]
-> list all the users (no sensible information)[/users/id]
-> fetch a specific user (all information)
- POST
[/users]
-> Create an user[/users/auth]
-> Authenticate an user[/match/user/:id]
-> Send a request to play
- DELETE
[/users]
-> Delete an user
- PUT
[/info]
-> Update user information (e.g. plataforms, games, country ...)
- Deve ser possível se cadastrar;
- Deve ser possível se autenticar; verificar qual a melhor estrategia de autenticação
- Deve ser possível obter o perfil de um usuário logado;
- Deve ser possível o usuário criar um card de convite para jogo;
- Deve ser possível o usuário acessar um feed onde se encontram todas os cards de convite para jogo;
- Deve ser possível o usuário aceitar um convite para jogo;
- Deve ser possível o usuário buscar academias pelo nome;
- O usuário não deve poder se cadastrar com um username duplicado;
- O usuário não pode fazer 2 cards de convite para jogo na mesma plataforma;
- O usuário não pode fazer ver o identificador no card enquanto não tiver o match entre os dois usuários;
- A senha do usuário precisa estar criptografada;
- Os dados da aplicação precisam estar persistidos em um banco MongoDB;
- O feed precisa estar paginado com 20 cards de convite pra jogo por página;