Para acessar os endpoints, utilize o seguinte usuario, email: user@gmail.com
, Senha: user321
Link para API: AluraFlix
Para você que usa o Postman para fazer requisições, aqui está a collection da API:
Esta WebApi foi desenvolvida na Alura Challange Backend 5° Edição. Este desafio foi agnóstico com relação à linguagens, frameworks, bases de dados e decisões de arquitetura. O desenvolvedor tinha livre-arbítrio para escolher a stack.
Nesse desafio era dado uma prazo de um mês para a entregar da WebApi. A cada semana os participantes recebiam novos requisitos para implementarem na sua API. Utilizamos a metodologia kanban para gerenciar os requistos do projeto.
É uma forma de implementar o Challenge Based Learning que a Apple ajudou a criar. Um mecanismo onde você vai engajar em cima de um problema, para só depois investigar soluções com cursos, conteúdo e conversas; ou até mesmo com o conhecimento que você já possui! Finalmente vai agir e colocar seu projeto no ar. Tudo isso com você comentando e ajudando nos projetos de outros alunos e alunas.
* Criar um banco de dados para armazenar os seguintes campos: id, titulo, descricao, url.
* Rotas CRUD para /videos.
* Todos os campos de vídeos devem ser obrigatórios e validados.
* adicionar uma nova tabela no banco de dados para armazenar os seguintes campos: id, titulo, cor.
* Rotas CRUD para /categorias.
* Todos os campos de categoria devem ser obrigatório.
* Agrupar vídeos e categorias, criar uma relação entre vídeos e categorias, atribuindo para cada vídeo uma categoria.
* Requisição para exibir vídeos por categoria.
* Criar uma rota que busque vídeos por nome via query parameters.
* Videos sem categoria definida, recebem categoria LIVRE com o id 1.
* Criar Testes de unidade e testes de Integração
* Alterar a estrutura do banco de dados para suporta autenticação.
* A partir de agora somente usuários autenticados podem interagir com a API. Implementar um mecanismo de autenticação na API,
para que os usuários possam se autenticar e disparar requisições para ela.
* Criar uma rota que retorne um numero limitado de videos, sem a necessidade de autenticação.
* Implementar paginação no retorno de videos.
* Realizar o deploy da aplicação em qualquer plataforma cloud.
- SQLite
- ASP.NET WebApi
- Entity Framework Core 6
- AutoMapper
- FluentValidator
- Swagger UI com suporte a JWT
- FluentAssertions
- Bogus
- Moq
- xUnit
- Clean Code
- Clean Architecture
- Injeção de dependência
- Unit of Work
- Repository
- Command