Skip to content
Leonardo Mizoguti edited this page Aug 14, 2015 · 14 revisions

Gabaritei Project Blog

Date: 13/08/2015

Descrição Tivemos algumas semanas de dificuldades em avançar no projeto por questões pessoais, mas mesmo assim conseguimos realizar:

  • Discussão sobre design (telas, logo) ** ainda em andamento
  • Esclarecimento de questões relativas ao modelo de dados ** Precisamos terminar a documentação e testes
  • Data import: import de CSV e Excel ** Ainda a ser aprimorado, e testado
  • Refactoração do código Angular - adoção de um styleguide
  • Geração de documentação server-side e client-side: Yard e ngdocs respectivamente

Date: 15/07/2015

Descrição Leo fez uma apresentação da situação do nosso banco de dados. Alguns tópicos foram discutidos:

  • Como gerenciar permissões a nível granular Ficamos de terminar as implementações pendentes para a próxima semana:
  • Guilherme: terminar a implementação CRUD disciplinas em angular, criando uma base para os demais CRUD's + testes
  • Leo: como importar um conjunto de alunos para cadastro, documento base: Moodle

Date: 01/07/2015

Descrição Principais tópicos levantados:

  • Leo avançou bastante no banco de dados e se falta apenas terminar a documentação;
  • Para finalizar a implementação, faltava apenas fazer um merge no branch master.
  • Gaby levantou os tópicos: ** Problema de licença no caso de comprar um tema. ** trocar o nome para algo internacional ** logo separado do nome (uma imagem ao invés de qualquer variação das letras do nome atual "Gabaritei" ** quais fontes utilizar
  • Foi constatado que o atual projeto funciona bem em Windows, ambiente: ** Windows 7 x64 ** Ruby instalado via Ruby Installer, versão 2.1.6 x64 (http://rubyinstaller.org/downloads/) ** Rails instalado via 'gem install rails' ** Node.js 0.12.7 via https://nodejs.org/download/ ** Uso recomendado (não necessário): http://sourceforge.net/projects/conemu/ ** Selenium não testado (vai dar trabalho)
  • Guilherme comprometido em continuar implementado o CRUD subjects full angular.

Date: 01/07/2015

Não tivemos reunião devido a problemas de horário e técnicos (internet). Reunião remarcada para semana que vem


Date: 25/06/2015

Descrição

Principais tópicos abordados:

  • Área dentro de uma disciplina ('Subject'): devemos ter a opção de área dentro de uma disciplina. Exemplo: Geometria Analítica, Algebra e Geometria Plana dentro de Matemárica.

  • Future work: um aluno poderá recomendar uma questão para outro aluno (dentro do sistema, sem e-mail)

  • Erros de digitação podem ser perigosos: exemplo: Algebra, ALgebra, algbra.

  • Facilitar o cadastro de novos usuários: importar uma planilha, um documento de texto ou um csv de alunos.

  • Alternativas separadas do models de questão. Dessa forma combrimos questões não padronizadas, com mais de 5 alternativas, verdadeiro ou falso, etc

  • Coffescript: será a linguagem padrão usada no desenvolvimento de javascript

  • Muitos problemas relacionados a interface, principalmente na hora de visualizar longas listas. Exemplos:

  • A plataforma de teste foi validada por todos e está pronta para uso

  • Assuntos adicionais discutidos:

    • Internacionalização
    • Gabaritei on Windows

Scrum Board Parcial:

Assignee Task Queue In Progress Done
Guilherme Gaberitei on Windows X
Gaby Design Concepts & Class Diagrams - Issues: #8 #4 X
Leo Database Design & internationalization - Issue: #5 #11 X

Milestone: Taskforce || Due to: 30/06/2015 || Percentage: 71%


Date: 18/06/2015

Descrição

Discussão: o processo de fazer os testes funcionarem foi complexo. Não tenho certeza se será possível fazer no Windows o mesmo procedimento para automatizar o deploy & test da aplicação.

Resumidamente, acho que seria legal ser possível ter um procedimento automático de rodar o teste logo após o deploy da aplicação em ambiente de produção. Mas o Selenium tem algums entraves, como necessitar de um ambiente de X para renderizar o browser ( o modo headless também exige um cliente X, além de necessitar de uma aplicação Unix).

Em ambiente Windows, não tenho idéia de como fazer. Talvez usar um PowerShell, mas acho que isso seria fora do nosso escopo por enquanto. Concluíndo, temos os seguintes passos para rodar em ambiente Linux/Mac OS X:

  • Instalar as gems com um:
$ bundle install
  • Instalar o chrome driver (acho que com o Firefox não tem necessidade de instalar o driver, a confirmar). Basta baixar no site:
https://code.google.com/p/selenium/wiki/ChromeDriver
  • Finalmente, devemos certificar que o ambiente de dev tem o banco de dados configurado:
$ rake db:create # no caso do MySql
$ rake db:migrate
  • Por último, podemos executar:
$ rake selenium:integrationtest

Que irá rodar o rake task pré configurado. Dessa forma, chegamos a uma solução boa. Será usada como ponto de partida para as próximas.

Além disso, na reunião, foi dicutido que a Gaby irá criar um Design conceito para o site, o Leo continuará com o desenvolvimento do banco de dados. Eu continuarei a desenvolver o Angular, buscando uma arquitetura escalável e sustentável.

Scrum Board Parcial:

Assignee Task Milestone Queue In Progress Done
Guilherme Angular & Tests - Issues: #6 #8 X
Gaby Design Concepts & Class Diagrams - Issues: #8 #4 X
Leo Database Design - Issue: #5 X

Milestone: Taskforce || Due to: 24/06/2015 || Percentage: 42%


Date: 10/06/2015

Descrição

Modificações no banco de dados:

  • Problema de nomenclatura: acertar a tradução inglês->português.
  • Problemática: resposta pertence a questão ou é uma entidade separada?
  • Testes são só para interesse do aluno ou para avaliação.
    • Feature adicional!
  • Definição do problema
  • Subject passa a ser relacionado a sala e não mais ao professor
  • Modelo do banco de dados, responsável:

Diagrama de classes:

  • Discussão do campo role na classe User

Date: 08/06/2015

Descrição:

Ficou decidido que enquanto trabalharmos remoto, iremos ter uma reunião semanal para decidir as diretivas, comentar do projeto, entre outros.


Date: 02/03/2015

Descrição:

Primeira reunião com o Leo. Ficamos acertados de dar prosseguimento ao desenvolvimento, focando principalmente no TDD, Diagramas de Classes e modelos do banco de dados.

Além disso, discutimos e ficamos de acordo de adotar uma nova tecnologia no Front-End: AngularJS. Dessa forma, poderemos desenvolver um código javascript para client-side mais robusto, organizados e com testes.

Foi passada toda a descrição da tecnologia a ser adotada no projeto, bem como as diretrizes principais.

O sistema de gerenciamneto de sprints será o GitHub por meio de issues

Clone this wiki locally