https://github.com/samuelvictorol/projeto-1-estagio-cast-group
https://github.com/samuelvictorol/projeto-1-estagio-cast-group
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/samuelvictorol/projeto-1-estagio-cast-group
- Owner: samuelvictorol
- Created: 2022-07-07T15:26:29.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-07-15T02:25:24.000Z (almost 3 years ago)
- Last Synced: 2025-02-24T07:15:18.462Z (3 months ago)
- Language: C#
- Size: 24.5 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cast Admins [v1.0.1 Nova Feature](https://github.com/samuelvictorol/Semana1Cast/blob/main/Features/FeatureBuscarDescricao.md)![]()
![]()
## Projeto Semana 1 Cast
- Por: [Samuel Victor Oliveira Lima](https://github.com/samuelvictorol)
- Data de Entrega: 14/07/2022
- Projeto o qual as instruções estão podem ser consultadas clicando no [Enunciado](https://github.com/samuelvictorol/Semana1Cast/blob/main/Enunciado.pdf).
## Contexto
- "Eu como Administrador, desejo gerenciar os cursos disponíveis na Cast (cadastrar, visualizar, alterar e excluir um curso)."
### Restrições
- Não será permitida a inclusão de cursos com a data de início menor que a data atual;
- Deve ter um botão “Adicionar”, para a inclusão no curso na lista;
- Deve apresentar mensagem de alerta caso o campo não for preenchido;
- Deve ter um botão “Voltar”, para encerrar o acesso e retorno a tela principal;
- Deve apresentar mensagem de alerta de dados gravados com sucesso;
- Deve apresentar mensagem de alerta de curso já cadastrada;
- Deve permitir a pesquisa pelo nome do curso e período que ele ocorre;
- Não deve permitir a exclusão de cursos já realizados;
- Deve registrar em uma tabela de log a data da inclusão, data da última atualização e usuário responsável.# Descrição técnica da solução implementada
- No primeiro momento foi elaborado um Diagrama UML que continuou a ser modificado e atualizado ao longo do projeto
- O diagrama foi a base para criação das classes modelos pra criação das entidade pro Entity Framework transformar os modelos em tabelas
- Após a configuração do program.cs criação das Models, Controllers, DbSets, Migrations e Update-database inicializamos o Swagger configurado com o comando 'dotnet watch run'
![]()
## Lógica de Negócios
- A lógica de negócios foi implementada em sua grande maioria pelo FrontEnd, utilizando Angular e TypeScript. Isso se deve por ser a tecnologia que tive mais familiaridade
- Grande parte do FrontEnd foi feito na mão à fim de deixar um projeto mais interativo e de fácil uso para o usuário final
- As requisições HTTP, foram feitas utilizando o HttpClient do angular common http. As funções HTTP foram criadas no service e podem ser utilizadas em qualquer componente configurado no modulo## Git Branchs
- Para melhor organização do projeto, foi utilizado o Git para versionamento de código. E duas branchs foram criadas: main e development.
- A branch 'development' era onde estava sendo desenvolvido o projeto e apenas depois de ser commitada ela poderia ser 'mergeada' com a branch main (master)
![]()
![]()
# O Back-end
- Nesse Projeto foi utilizado a técnica de Code First para criação de uma WebApi, que consiste em fazer primeiro o código fonte.
- Foi utilizado o EntityFramework para construções de tabelas e o Swagger para Requisições HTTP.
- O banco de dados escolhido foi o SQLServer
![]()
![]()
![]()
![]()
# O Front-end
- Para esse projeto foi utilizado o Angular como Framework principal
- Bibliotecas e ferramentas externas como [Bootstrap 5](https://getbootstrap.com/docs/5.0/getting-started/introduction/), [Animate CSS](https://animate.style/), [Google Fonts](https://fonts.google.com/), [Box-Shadow Generator](https://html-css-js.com/css/generator/box-shadow/) e [UIGradients](https://uigradients.com/)
- As telas foram criadas de modo que sejam facilmente utilizadas, rápidas, interativas e intuitivas:
![]()
![]()
![]()
![]()
## Validações e Testes
- As Validações de Campo de Formulários foram feitas via TypeScript
- Os testes serão mostrados durante a Apresentação do Projeto### Exemplo de Validação no Login:
FrontEnd:
![]()
![]()
BackEnd:
![]()
![]()
## Tecnologias Utilizadas
- Dentre as tecnologias que foram usadas nesse projeto temos como principais: SQLServer, ASP.NET webapi, EntityFramework Core, Swagger, Angular e Typescript
- Foram utilizados também algumas ferramentas de estilização como : BootStrap 5, AnimateCSS, devicons, favicon, unsplash, Drawn.Io ,UIGradients e Google Fonts
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()