Skip to content

Uma plataforma para gerenciar as horas complementares dos cursos da Universidade Federal do Ceará - Campus Crateús

License

Notifications You must be signed in to change notification settings

brunosousadev/hora-complementar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GoStack MeetApp
Projeto Hora Complementares

Um web site que permite que os usuários gerencie e organizem suas horas complementares.

GitHub top language GitHub language count GitHub language count GitHub language count

👨🏼‍💻 Desenvolvedor

Por quê?

Este projeto faz parte do meu portfólio pessoal, portanto, ficarei feliz se você puder me fornecer algum feedback sobre o projeto, código, estrutura ou qualquer coisa que você possa relatar que possa me tornar um desenvolvedor melhor!

Email-me: [email protected]

Conecte-se comigo no LinkedIn.

Além disso, você pode usar este projeto como desejar, estudar, fazer melhorias ou ganhar dinheiro com ele!

É grátis!

Banco de Dados

Tabelas

  • Curso;

  • Usuário;

  • Categoria;

  • Atividade;

  • Comprovante.

    Composição das Tabelas

Curso

CAMPO TIPO NULO EXTRA COMENTARIOS
id INT NO AUTO_INCREMENT
nome VARCHAR(45) NO
quantidade INT NO

Usuário

CAMPO TIPO NULO EXTRA COMENTARIOS
id INT NO AUTO_INCREMENT
nome VARCHAR(45) NO
matricula VARCHAR(30) NO
avatar VARCHAR(30)
email VARCHAR(30) SI
senha VARCHAR(100) SI
horas_computadas VARCHAR(50) NO TEM VALOR PADRÃO INCIAL. 0
id_curso INT NO CHAVE EXTRAGEIRA

Categoria

CAMPO TIPO NULO EXTRA COMENTARIOS
id INT NO AUTO_INCREMENT
nome VARCHAR(45) NO
descricao VARCHAR(250) NO
observacao VARCHAR(45) NO
limite INT NO
id_curso INT NO CHAVE EXTRAGEIRA

Atividade

CAMPO TIPO NULO EXTRA COMENTARIOS
id INT NO AUTO_INCREMENT
nome VARCHAR(45) NO
descricao VARCHAR(250) NO
tipo_comprovante VARCHAR(45) NO
valor INT NO
id_categoria INT NO CHAVE EXTRAGEIRA

Comprovante

CAMPO TIPO NULO EXTRA COMENTARIOS
id INT NO AUTO_INCREMENT
nome VARCHAR(45) NO
descricao VARCHAR(250) NO
valor INT NO
id_usuario INT NO CHAVE EXTRAGEIRA
id_atividade INT NO CHAVE EXTRAGEIRA

Funcionalidades

API REST

  1. index: Listar todos registros;
  2. show: Exibir um registro;
  3. store: Criar novo registro;
  4. update: Alterar um registro;
  5. destroy: Remover um registro.

Backend

Test Driven Development-TDD

"O desenvolvimento do backend está sendo feito por desenvolvimento Orientado por Testes (Test Driven Development). Desenvolvimento orientado a TDD baseia-se em pequenos ciclos de repetições, onde onde para cada funcionalidade do sistema um teste é criado antes. Este novo teste criado inicialmente falha, já que ainda não temos a implementação da funcionalidade em questão e, em seguida, implementamos a funcionalidade para fazer o teste passar!" ( Devmedia,2018).

Ciclo de desenvolvimento

Red,Green, Refactor. Ou seja:

  1. Escrevemos um Teste que inicialmente não passa (Red);
  2. Adicionamos uma nova funcionalidade do sistema;
  3. Fazemos o Teste passar (Green);
  4. Refatoramos o código da nova funcionalidade (Refactoring);
  5. Escrevemos o próximo Teste.

Validação das requisições

Precisa instalar o provedor de validação do adonis

adonis install @adonisjs/validator

Adiciona lá no start/app.js

  const providers = [
        '@adonisjs/validator/providers/ValidatorProvider'
    ]

A validação de AdonisJ usa o Indicative. Para detalhes completos sobre o uso, consulte a documentação indicativa oficial.

Indicativo é uma biblioteca de validação de dados para validar objetos de dados complexos, definindo um esquema legível por humanos. Em poucas palavras, você pode

  1. Valide objetos e matrizes aninhados.;
  2. Defina mensagens de erro de validação personalizadas;
  3. Use formatadores de erro para definir o formato das mensagens de erro. Por exemplo: JSON: formatador de API para formatar mensagens de erro de acordo com a especificação JSON: API;
  4. Opção para remover propriedades não validadas do objeto de dados;
  5. Suporte para validações assíncronas;
  6. API extensível para adicionar regras personalizadas;
  7. Desinfetante de dados.

Obs: Um erro que estava ocorrendo nas validações era na questão de inteiros e isso se apresentou como bug no repositório do Adonisjs porém, já foi corrigida na versão 4.1 do AdonisJs. Para fazer a atualização basta seguir os paços abaixo:

O primeiro passo é atualizar todas as dependências.

Usamos o npm-check para obter as versões mais recentes dos pacotes:

npm install -g npm-check

Execute o seguinte comando para atualizar as dependências interativamente:

npm-check -u

Mais informações em : Documentação

Frontend

ℹ️ Como usar

Para clonar e executar este aplicativo, você precisará do Git, Node.js v10.16 ou superior + Yarn v1.13 ou superior + AdonisJs 4.0 ou superior instalado no seu computador. Na sua linha de comando:

# Clonar este repositório
$ https://github.com/brunosousadev/hora-complementar.git

# Entre no repositório
$ cd hora-complementar

# Instalar dependências
$ yarn install

# Execute o servidor
$ adonis serve --dev

Como contribuir

  1. Faça um fork do repositório.
  2. Clone este fork.
    $ git clone URLDOSEUFORK
    
  3. Crie sua branch para realizar as modificações desejadas.
    $ git checkout -b minha-modificacao
    
  4. Realize as modificações.
  5. Confirme suas alterações.
    $ git commit -am 'Modifica algo'
    
    ou
    $ git add .
    $ git commit -m 'Modifica Algo'
    
  6. Realize um push para a branch remota do seu fork.
    git push origin minha-modificacao
    
  7. Na interface do github, em seu fork, crie um pull request

📝 Licença

Este projeto está licenciado sob a licença MIT - consulte o arquivo LICENSE para obter detalhes

About

Uma plataforma para gerenciar as horas complementares dos cursos da Universidade Federal do Ceará - Campus Crateús

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •