Projeto de uma API RESTful desenvolvida utilizando ASP.NET e Entity Framework para um site de filmes. A API permite o gerenciamento de usuários, filmes vistos e lista de Watchlist. O banco de dados é hospedado em uma instância AWS com MySQL e o deploy está feito em ambiente dockerizado.
- POST
/api/Cadastro
: Cria um novo usuário.
- POST
/api/Login
: Realiza o login do usuário e retorna um token JWT para autenticação.
- GET
/api/Usuario/Infos/{userId}
: Retorna informações do usuário especificado poruserId
. - GET
/api/Usuario/WatchList/{userId}
: Retorna a lista de filmes na watchlist do usuário especificado poruserId
. - GET
/api/Usuario/Vistos/{userId}
: Retorna a lista de filmes vistos pelo usuário especificado poruserId
. - DELETE
/api/Usuario/Deletar/{userId}
: Deleta o usuário especificado poruserId
. - PATCH
/api/Usuario/Atualizar/{userId}
: Atualiza informações do usuário especificado poruserId
.
- POST
/api/Visto/Adicionar/{userId}
: Adiciona um filme como visto para o usuário especificado poruserId
. - DELETE
/api/Visto/Deletar/{userId}/{movieId}
: Remove um filme da lista de vistos do usuário especificado poruserId
.
- POST
/api/Watchlist/Adicionar/{userId}
: Adiciona um filme à watchlist do usuário especificado poruserId
. - DELETE
/api/Watchlist/Deletar/{userId}/{movieId}
: Remove um filme da watchlist do usuário especificado poruserId
.
- ASP.NET: Framework para construção de aplicativos web.
- Entity Framework: ORM para mapeamento objeto-relacional.
- AWS (Amazon Web Services): Plataforma de serviços em nuvem para hospedagem do banco de dados MySQL.
- Docker: Plataforma de contêineres para facilitar a implantação e execução do aplicativo.
- Certifique-se de ter o Docker e o Docker Compose instalados em seu ambiente.
- Clone o repositório do projeto.
- No diretório raiz do projeto, crie um arquivo chamado
.env
e defina as variáveis de ambiente necessárias, como as credenciais da AWS e as configurações do banco de dados MySQL. - Execute o comando
docker-compose up --build
para construir as imagens do Docker e iniciar os contêineres. - A API estará disponível em
http://localhost:8080
.