Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/robsantossilva/movie_voting
Aplicação de Avaliação de Filmes da Marvel
https://github.com/robsantossilva/movie_voting
Last synced: about 1 month ago
JSON representation
Aplicação de Avaliação de Filmes da Marvel
- Host: GitHub
- URL: https://github.com/robsantossilva/movie_voting
- Owner: robsantossilva
- Created: 2022-05-09T17:18:23.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-05-10T00:22:58.000Z (over 2 years ago)
- Last Synced: 2023-03-04T10:19:12.772Z (almost 2 years ago)
- Language: PHP
- Size: 101 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Applicação para Avaliação de Filmes da Marvel
Essa aplicação tem como objetivo forncecer uma **API Rest** juntamente com uma **Single Page Application**.
O Resultado final é a possibilidade de **avaliar filmes da marvel** variando entre **1 e 5 estrelas**.## Ponto de Partida
#### 1 - Contextos:
Analisando os requisitos foi possivel identificar 2 contextos diferentes para a aplicação:**Video**
Responsavel por gerencia todos os filmes, séries, filmes de longa ou curta duração dentre outros...
Esse contexto também fará o gerenciamento de Cast Members e Genres.**Assessment**
O Contexto de avaliação será responsavel por gerenciar todos os votos e cálculo da nota média.#### 2 - Decisões de Design
**Dominio da Aplicação:** Naturalmente cada contexto tornou-se um módulo dentro do dominio da aplicação que tem como principal objetivo tratar de Regras de Negócio. **Nesse ponto** nada sobre framework ou banco de dados foi decido pois são apenas detalhes, visto que resolver o problema é muito mais importante.
- **Domain**
- Assessment
- Entity
- Factory
- Repository
- Validator
- Video
- Entity
- Factory
- Repository
- Validator
- ValueObject: Genre e CastMember
- SharedCore: Contem interfaces e recursos compartilhados entre módulos
- Entity
- Factory
- Repository
- Validator
- Notification: Pattern para agrupar Exception de errors dentro da camada de dominio
- **Usecase**
- Video: Casos de uso de video
- Vote: Casos de uso de votos
- **Infraestructure**: É a ultima camada a nivel de prioridade. Aqui estara todas as implementações referente a Framework e Banco de Dados.O Principal objetivo dessa organização em camadas é proporcionar um menor acoplamento, entre as implementações diminuindo a dependencia entre elas e facilitando a evolução do projeto.
#### 3 - Framework / Banco de Dados
Foi utiliza Laravel juntamente com Mysql por ser uma combinação bem utilizada.
Lembrando que a arquiterura do projeto facilita a mudança do banco, que pode ser qualquer um.**API Rest** | Rotas
Resource|Method|Params
--|--|--
/video|POST - Criar Video|-
/video/{id}|GET - Obter Video|id do video
/video|GET - Obter lista de Video|?page=1&count_per_page=10&search=homem%aranha
/video{id}|DELETE - Excluir Video|id do video