O projeto proposto a ser desenvolvido é um sistema pequeno de dashboard (pode ser no formato de tabela), que irá exibir uma tabela de infecção dos países por COVID-19. Utilizando o ASP.NET MVC.
- Na tela inicial do Visual Studio, basta selecionar a opção Abrir um projeto ou uma solução e dentro da pasta do projeto selecionar covid_dashboard_aspnet_core.sln.
Model - É a parte da aplicação que implementa a lógica para a camada de dados da aplicação.
- 🛠 Country: Classe responsável por gerenciar os países que serão cadastrados.
- 📝 DataCovid: Classe responsável por armazenar os dados: (casos_confirmados, mortes, recuperados).
- ❌ ErrorViewModel: Classe gerada automaticamente com responsabilidade de validar a comunicação e erros entre as camadas de View e Model.
Controller - É a parte mediadora entre a comunicação entre a View e o Model. Recebem requisições HTTP e retornam as informações para o browser.
- 🛠 CountriesController / 📝 DataCovidsController: Responsável por realizar as funcionalidades da aplicação, contendo elas: index, details, create, edit, delete, etc.
- 🏢 HomeController: Responsável por renderizar os dados na página inicial referentes ao DataCovid.
View - É a camada responsável por fazer a renderização da resposta para o usuário. Utilizando o Razor.
- 🛠 Countries / 📝 DataCovids: Responsável pela interface referente as funcionalidades da aplicação. Contendo: Create, Delete, Details, Edit, Index, geradas automaticamente após a criação dos Controllers.
- 🏢 Home: Responsável pela interface referente aos dados do DataCovid.
- 📍 Shared: Responsável pelo nosso layout padrão.
🛠 CountriesController:
* public CountriesController(ApplicationDbContext context) - responsável pela comunicação com o DataBase.
* public async Task<IActionResult> Index(string searchString) - vai retornar todas as cidades cadastradas, porém se for passado um parâmetro ele ira filtrar pelo nome do país.
* public async Task<IActionResult> Details(int? id) - visualizar informações de determinado país.
* public IActionResult Create() - serve apenas para exibir o formulário de criação.
* public async Task<IActionResult> Create([Bind("Id,Name")] Country country) - enviando os dados do formulário para criação no banco de dados.
* public async Task<IActionResult> Edit(int? id) - recebe os dados e exibe o formulário de edição.
* public async Task<IActionResult> Edit(int id, [Bind("Id,Name")] Country country) - envia os dados editados para o banco de dados.
* public async Task<IActionResult> Delete(int? id) - recebe o id e apaga a cidade selecionada.
* public async Task<IActionResult> DeleteConfirmed(int id) - confirmação se realmente deseja apagar.
* private bool CountryExists(int id) - validação para verificar se a cidade existe ou não.
📝 DataCovidsController:
* public DataCovidsController(ApplicationDbContext context) - responsável pela comunicação com o DataBase.
* public async Task<IActionResult> Index() - vai retornar todas as datacovid cadastradas.
* public async Task<IActionResult> Details(int? id) - visualizar informações de determinada datacovid.
* public IActionResult Create() - serve apenas para exibir o formulário de criação.
* public async Task<IActionResult> Create([Bind("Id,ConfirmedCase,Death,Recovered,CountryId")] DataCovid dataCovid) - enviando os dados do formulário para criação no banco de dados.
* public async Task<IActionResult> Edit(int? id) - recebe os dados e exibe o formulário de edição.
* public async Task<IActionResult> Edit(int id, [Bind("Id,ConfirmedCase,Death,Recovered,CountryId")] DataCovid dataCovid) - envia os dados editados para o banco de dados.
* public async Task<IActionResult> Delete(int? id) - recebe o id e apaga a datacovid selecionada.
* public async Task<IActionResult> DeleteConfirmed(int id) - confirmação se realmente deseja apagar.
* private bool DataCovidExists(int id) - validação para verificar se a datacovid existe ou não.
🏢 Home:
* public HomeController(ApplicationDbContext context) - responsável pela comunicação com o DataBase.
* public async Task<IActionResult> Index() - vai retornar todas as datacovid cadastradas, incluindo a cidade.
* public IActionResult About() - retorna uma visualização na navbar.
* public IActionResult Contact() - retorna uma visualização na navbar.
- O sistema deve possuir um usuário admin.
- O sistema deve possuir um model que armazenará os dados do COVID-19 e um model que armazena os nomes dos países.
- O sistema deve possuir um CRUD simples para os dados do COVID-19.
- O cadastro dos dados deve possuir um combo box que carrega os dados do model de países.
- Apenas o usuário admin poderá cadastrar dados na tabela do COVID-19.
- Os dados da tabela devem ser exibidos na página principal, aberta e pública para qualquer usuário sem a necessidade de login.
- Deverá ser criado um layout para a tabela.
- Matheus Santos Rosa Carneiro - mcarneirobug
- Raissa Carolina Vilela da Silva - raissavilela
- Vitor Augusto Alves de Jesus - ovitorj
- Hugo Bastos de Paula - hugodepaula