An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

        


# Cast Admins [v1.0.1 Nova Feature](https://github.com/samuelvictorol/Semana1Cast/blob/main/Features/FeatureBuscarDescricao.md) Samuel-CSS
Samuel-CSS

## 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'




logo


## 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)




logo
logo

# 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




logo
logo
logo
logo

# 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:




logo
logo
logo
logo


## 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:




logo
logo



BackEnd:



logo
logo


## 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





Samuel-ts
Samuel-ts
Samuel-Js
Samuel-CS
Samuel-HTML
Samuel-CSS
Samuel-SQLSERVER
Samuel-GIT
Samuel-BS
Samuel-SG