{"id":26175309,"url":"https://github.com/fernandozuchi/entrega03-bootcamp","last_synced_at":"2026-02-14T22:02:47.818Z","repository":{"id":272520692,"uuid":"916872934","full_name":"FernandoZuchi/entrega03-bootcamp","owner":"FernandoZuchi","description":"Enunciado da Entrega 03 do Bootcamp ZenCheck","archived":false,"fork":false,"pushed_at":"2025-01-14T23:24:56.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-15T00:28:41.350Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FernandoZuchi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-14T23:11:37.000Z","updated_at":"2025-01-14T23:25:01.000Z","dependencies_parsed_at":"2025-01-15T00:29:11.595Z","dependency_job_id":"a56c7734-97a5-4e67-9300-5cda40c46801","html_url":"https://github.com/FernandoZuchi/entrega03-bootcamp","commit_stats":null,"previous_names":["fernandozuchi/entrega03-bootcamp"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoZuchi%2Fentrega03-bootcamp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoZuchi%2Fentrega03-bootcamp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoZuchi%2Fentrega03-bootcamp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoZuchi%2Fentrega03-bootcamp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FernandoZuchi","download_url":"https://codeload.github.com/FernandoZuchi/entrega03-bootcamp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243112177,"owners_count":20238183,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-11T20:56:10.892Z","updated_at":"2025-10-07T01:24:33.528Z","avatar_url":"https://github.com/FernandoZuchi.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Enunciado da Entrega 03 - Implementação de Banco de Dados no Sistema de Gerenciamento de Solicitações de Suporte e Problemas Técnicos (SGSSPT)\n\n## Objetivo\nO objetivo desta entrega prática é implementar um banco de dados relacional no projeto desenvolvido na Entrega 01, utilizando **SQL Server** e **Entity Framework 6** como ORM (Object-Relational Mapping). A integração com o banco de dados permitirá que as operações de criação, edição, visualização, e exclusão de tickets sejam persistidas no banco, elevando o nível de realismo do projeto e adicionando escalabilidade à aplicação.\n\n---\n\n## Descrição\nNesta entrega, os dados dos tickets, que anteriormente eram armazenados em uma lista estática, deverão ser persistidos em um banco de dados relacional. Para isso, será necessário criar um modelo de banco de dados que atenda aos requisitos do sistema e configurar a conexão com o **SQL Server** utilizando o **Entity Framework 6** em sua abordagem **Code First**.\n\nOs tickets deverão ser armazenados em uma tabela no banco de dados, e o sistema deverá ser capaz de realizar todas as operações (CRUD) diretamente no banco.\n\n---\n\n## Requisitos do Projeto\n\n### 1. Configuração do Banco de Dados:\n- Criar e configurar um banco de dados no **SQL Server** para armazenar os tickets.\n- Configurar a string de conexão no arquivo `Web.config`.\n\n### 2. Modelagem de Dados:\n- Criar uma classe de modelo chamada `Ticket` que represente os tickets do sistema.\n- Incluir os seguintes campos na tabela de tickets:\n  - **Id**: Identificador único (chave primária).\n  - **Título**: Nome ou descrição breve do chamado.\n  - **Descrição**: Detalhamento do chamado.\n  - **Status**: Status do chamado (aberto, em andamento, fechado).\n  - **Prioridade**: Nível de prioridade do chamado (alta, média, baixa).\n  - **DataAbertura**: Data e hora de criação do chamado.\n\n### 3. Migração do Banco de Dados (Code First):\n- Configurar o **Entity Framework 6** para usar o banco de dados em modo **Code First**.\n- Criar as migrações necessárias para gerar a tabela de tickets no banco.\n\n### 4. Atualização dos Controladores e Views:\n- Atualizar o controlador `TicketController` para que as operações de listagem, criação, edição, exclusão e visualização de tickets sejam feitas diretamente no banco de dados.\n- Atualizar as **Views** para refletir as mudanças e garantir que os dados exibidos sejam provenientes do banco.\n\n### 5. Validações e Boas Práticas:\n- Adicionar validações apropriadas no modelo `Ticket`, como `[Required]`, `[StringLength]`, entre outras.\n- Garantir que as operações sejam seguras, evitando possíveis falhas ou comportamentos inesperados.\n\n---\n\n## Entrega e Avaliação\nA entrega deverá ser feita em um repositório Git com os commits claros e descritivos. O repositório deverá conter:\n1. Código atualizado com a integração do banco de dados.\n2. Instruções no arquivo `README.md` para configurar a string de conexão e executar o projeto.\n\nOBS: Faça um tópico nesta própria documentação, indicando as instruções para conectar com o banco de dados criado por você\n\n### **Pontos de Avaliação (10 pontos):**\n\n#### 1. Configuração do Banco de Dados e Entity Framework (2 pontos):\n- Configuração correta do SQL Server e string de conexão.\n- Criação das migrações para a tabela de tickets.\n\n#### 2. Modelagem de Dados (2 pontos):\n- Definição do modelo `Ticket` com todos os campos necessários.\n- Validações adequadas no modelo.\n\n#### 3. Atualização do Código (3 pontos):\n- Ajuste dos controladores para usar o banco de dados nas operações CRUD.\n- Atualização das views para refletir as alterações.\n\n#### 4. Boas Práticas e Organização (2 pontos):\n- Código limpo e bem estruturado.\n- Commit frequente e claro.\n\n#### 5. Testes de Funcionalidade (1 ponto):\n- Teste de todas as operações CRUD com persistência no banco.\n\n---\n\n## Checklist 🗒️\nUse o checklist abaixo para garantir que todos os requisitos foram atendidos:\n\n- [ ] Configuração do banco de dados no SQL Server.\n- [ ] Configuração da string de conexão no `Web.config`.\n- [ ] Implementação da classe de modelo `Ticket`.\n- [ ] Migração do banco de dados com o **Entity Framework 6**.\n- [ ] Atualização do controlador para usar o banco de dados.\n- [ ] Atualização das views para refletir as mudanças.\n- [ ] Validações no modelo de dados.\n- [ ] Teste completo de todas as operações CRUD.\n\n---\n\n## Dicas\n- Revise o conteúdo do módulo **T4: Banco de Dados no ASP.NET MVC** antes de iniciar a implementação.\n- Utilize o `SQL Server Management Studio` para verificar as tabelas e dados diretamente no banco.\n- Caso enfrente problemas com migrações, use o comando `Add-Migration` e `Update-Database` no console do Gerenciador de Pacotes.\n- Siga as boas práticas aprendidas nos módulos anteriores para manter o código limpo e escalável.\n\nBoa sorte e bom trabalho! 🚀\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernandozuchi%2Fentrega03-bootcamp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffernandozuchi%2Fentrega03-bootcamp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernandozuchi%2Fentrega03-bootcamp/lists"}