quinta-feira, 17 de novembro de 2011

Pequena atualização


Após apresentação do aplicativo hoje para os professores Ivan e Bernardo, foram levantados alguns pontos em que poderiam haver melhoras.
Parte das sugestões foram implementadas, e, junto de algumas outras mudanças, já estão disponíveis na versão   presente em http://os-inominados.appspot.com/.
Segue uma pequena lista das mudanças:

v 1.1
==========================
- Listas de cidades e estados agora são salvas nas Constantes, assim não é necessário carregar as cidades e/ou estados mais de uma vez por execução do aplicativo.
- Tabela de notícias na home modificada, retirada a divisão entre emissora, tema e link, agora há uma label que junta a emissora e o tema, e essa própria label é clicável para que o link seja acessado. A área administrativa não foi alterada pois pode ser do interesse do administrador visualizar os dados separadamente.
- Tabela de provas na home modificada, colocados alguns headers nas colunas e alterado o texto das labels com o valor da nota do usuário.
- Resultados da busca modificados da mesma forma que a tabela de provas da home.
- Arrumada label dos detalhes da prova de "Instituto" para "Instituição".
- Gráfico de desempenho (notas das provas) agora mostra as notas das provas em forma de porcentagem da nota máxima.
- Gráfico de desempenho agora possui colunas com as médias das provas além das notas do usuário para fins de comparação, sendo que as médias também são em porcentagem.
- Adicionado um botão para ir para a página de detalhes da prova na página de gráficos de desempenho.
- Agora não é possível clicar repetidamente sobre uma das colunas no gráfico de desempenho para carregar repetidamente o segundo gráfico. O segundo gráfico só é carregado quando a prova selecionada é outra que não já carregada.
EDIT:
- Links agora são abertos em nova página no navegador.

terça-feira, 15 de novembro de 2011

Versão 1.0

É com prazer que anuncio que uma versão plenamente funcional do aplicativo já se encontra disponível em
http://os-inominados.appspot.com/.
Gostaria de ressaltar que como estamos utilizando os serviços gratuitos da Google, é possível que o sistema esteja indisponível devido aos limites diários de usuários não-pagantes (que já está quase atingido devido às persistências iniciais de dados para que o aplicativo funcione).
A versão lá disponível provavelmente será a final do aplicativo, a não ser que algum problema seja encontrado.
Os manuais de usuário e de sistema serão divulgados em breve.
Durante o desenvolvimento do aplicativo eu mantive, apenas para efeitos de controle, um arquivo com grande parte das mudanças feitas no programa. Muitas dessas mudanças nunca foram citadas neste blog, então elas serão adicionadas a esse post. Infelizmente, não foram marcadas as datas das versões.

Inominados - Changelog

v 0.1.0
==========================
- Projeto criado no Eclipse.
- Criada a base da aplicação, com a maioria das classes julgadas necessárias.
- Criada uma tela de login.
- Criado o layout básico, com um header, footer, barra lateral de menu e área de conteúdo.
- Criados os botões presentes no menu.


v 0.1.5
==========================
- O layout do site foi melhorado, agora tamanhos são definidos e objetos são centralizados ao invés de deixar que tudo se ajuste automaticamente.
- Criada uma página de cadastro.


v 0.1.8
==========================
- Adicionadas as páginas: "Home", "Buscar uma prova", "Criar uma prova", "Ver meu desempenho", "Enviar nota", "Personalizar estudos" e "Alterar dados da conta".


v 0.2.0
==========================
- Iniciada implementação do lado do servidor.
- Página de cadastro agora faz chamadas para o servidor.


v 0.2.2
==========================
- Iniciada integração com JPA utilizando o banco de dados da App Engine da Google.
- Página de cadastro agora cadastra usuários.
- Criadas todas as entidades julgadas necessárias.


v 0.2.6
==========================
- Corrigido um bug em que entidades não seriam "enhanced" (tratadas para serem utilizadas).
- Corrigido um bug em que o arquivo "persistence.xml" seria deletado pelo Eclipse constantemente.


v 0.2.7
==========================
- Adicionadas algumas mais entidades.
- Adicionadas abas de "Cronograma" e "Desejos" em "Alterar dados da conta".
- Login agora checa nome de usuário e senha.
- A página de alterar dados da conta agora realmente altera dados da conta.


v 0.3.0
==========================
-  "Criar uma prova" agora cria uma prova.
- "Personalizar estudos" agora salva suas prioridades.
- "Buscar uma prova" agora realmente busca uma prova.
- "Alterar dados da conta" foi um pouco melhorada.
- Adicionada auto-sugestão para todos os campos de texto aplicáveis.


v 0.4.0
==========================
- Arrumado um bug em que entidades não seriam persistidas corretamente, permitindo que muitos erros estranhos acontecessem.
- "Meu Desempenho" agora realmente mostra sua performance de acordo com notas enviadas de provas.


v 0.4.4
==========================
- "Enviar nota" agora salva sua nota.
- "Home" alterada, iniciada implementação do lado do servidor para a página.


v 0.5.0
==========================
- Arrumado um erro em que a "Home" ficaria em branco. 
- Adicionado o tipo de usuário administrativo.
- Adicionado o botão de deletar prova para usuários administrativos.
- Adicionado um botão "Área administrativa" ao menu, para usuários adm. Ele não faz nada ainda.
- Alterado o login de um FlowPanel para uma FlexTable.
- Agora quando não são encontrados resultados numa busca por provas, é mostrado "Não foram encontrados resultados com o texto inserido".
- Adicionado um limite de resultados de busca. 
- Quando uma busca retorna mais resultados que o limite, é mostrado "X mais resultados foram encontrados, refine sua busca", em que X é o número de resultados extras.
- Adicionado um limite de auto-sugestões.


v 0.5.5
==========================
- Adicionados "Alterar notícias", "Alterar dicas" e "Alterar usuários" na área administrativa. 
- Implementada página "Alterar usuários". É possível deletar um usuário e dar ou retirar permissões administrativas a ele.
- Adicionados key listeners para a maioria dos campos de texto.
- Agora é possível alterar dados da conta sem a necessidade de escolher uma nova senha.


v 0.6.0
==========================
- Arrumado um bug em que key listeners não funcionariam no Linux.
- Arrumado um bug em que a página de cadastro nunca retornaria um resultado, enquanto consumia quantidades excessivas de CPU.
- Adicionado um botão de logout.
- Adicionada uma loading screen para a maioria dos locais onde ela é necessária.
- Transferida a maioria das constantes para a classe singleton Constantes.java.


v 0.6.1
==========================
- Carregamento do aplicativo melhor diluído para diminuir tempo inicial de carregamento levemente.


v 0.6.3
==========================
- Removida página "Enviar nota". Ela agora está dentro de outras páginas.
- Alterados locais de chamada de algumas loading screens.
- Módulos desnecessários removidos.


v 0.7.0
==========================
- Adicionada página "Popular BD" na área administrativa.
- Implementado botão "Persistir áreas e matérias".
- Áreas e matérias agora são salvas no banco de dados ao invés de hardcoded.
- "Personalizar Estudos" agora utiliza dados do banco de dados ao invés de dados hardcoded.
- Implementado botão "Persistir cidades e estados".
- Estados agora são salvos no BD ao invés de hardcoded (Cidades acompanharão numa versão futura).
- Arrumado um pequeno erro causado no logout.


v 0.7.1
===========================
- "Meu desempenho" agora tem um novo gráfico.
- Arrumados alguns erros em "Detalhes da prova".


v 0.7.2
==========================
- Arrumadas algumas loading screens.
- Adicionados handlers para realizar buscas quando as sugestões são selecionadas.
- Adicionados handles para fechar dialog boxes pressionando ESC.
- Dialog box movida para Constantes para reduzir código redundante.


v 0.7.5
==========================
- Adicionadas algumas loading screens.
- Cidades agora são salvas no BD ao invés de hardcoded.
- Comboboxes agora indicam quando as cidades estão sendo carregadas, ao invés de travar o programa completamente.


v 0.8.0
==========================
- Adicionada uma medida de segurança para que seja possível se cadastrar quando cidades e estados ainda não foram persistidos.
- Alterada a classe "Provas", agora elas utilizam um identificador duplo composto de nome e data de aplicação (ou subtítulo), e pode ser ligada a uma ou mais matérias e/ou uma ou mais áreas.
- Criadas duas entidades extras para que seja possível ligar matérias e áreas às provas em relações n:n.
- Alterada página "Criar uma prova" para acomodar mudanças na classe "Provas". Agora é possível criar uma prova em múltiplas formas, por exemplo, com matéria e área, ou só com matéria, ou só com área, ou com matéria, área, turma e instituição, ou apenas com o mínimo necessário, dentre muitas outras combinações.
- Re-codificado o server-side da página "Criar uma prova" para refletir mudanças e adequadamente persistir as provas enviadas.
- Provas agora podem ser buscadas por data e identificação. Auto-sugestões, no entanto, apenas levam em consideração a identificação da prova. Isso não será alterado.
- Adicionado um limite de 10 criações de provas para usuários normais a cada 24 horas. O contador inicia quando a primeira prova é enviada, e no mínimo 24 horas depois disso o contador é limpo.


v 0.8.9
==========================
- Alterada ordem de anos nas comboboxes para facilitar a seleção do ano para pessoas nascidas depois de 1900.
- Alterada novamente a classe "Provas", agora é possível ligar uma prova a um estado e cidade ou apenas estado.
- Alterada página "Criar uma prova" e seu server-side para acomodar novas mudanças.
- "Criar uma prova" agora limpa os campos após criar uma prova com sucesso.
- Quando procurando por uma prova ou vendo os detalhes de uma, se você já enviou uma nota para essa prova, ao invés da opção de enviar uma nota é mostrada a nota enviada.
- "Procurar uma prova" agora se altera após o envio de uma nota para que não haja a opção de enviar uma nota novamente.
- "Detalhes da prova" agora se altera após o envio de uma nota para que não haja a opção de enviar uma nota novamente.
- Levemente alteradas as páginas "Detalhes da prova" e "Meu desempenho".
- Dividida a persistência de estados e cidades em várias chamadas separadas ao servidor, para diminuir a carga por chamada.
- Removido "Cronograma". Desnecessário visto que há muitos outros serviços disponíveis para isso.
- Removido "Desejos". No lugar, adicionada uma lista que mostra provas recentes na sua região, organizadas por matéria e/ou área, de acordo com as preferências do usuário. Se não há preferências, são ordenadas por data de criação.
- Removidas entidades extras para relacionamentos n:n entre provas e matérias/áreas, no lugar foram adicionados atributos do tipo array nas Provas, indicando suas matérias/áreas.
- Agora criptografia é utilizada para senhas de usuários.
- Arrumado um bug em que em "Alterar dados da conta" a cidade e estado não seriam adequadamente selecionados.
- Arrumado um bug em que loading screens apareceriam em lugares estranhos devido ao resize da janela. No entanto, um resize enquanto a loading screen está aberta não a centraliza novamente.


v 0.9.0 
==========================
- Aumentado espaçamento entre alguns widgets. 
- Agora a área administrativa carrega uma das abas por default para que não esteja em branco ao ser carregada.
- Implementada aba "Alterar notícias" na área administrativa. Um administrador é capaz de ver as notícias atuais e adicionar ou removê-las. Um objeto "Notícias" é composto de tema, link e emissora. 
Implementada aba "Alterar dicas" na área administrativa. Um administrador é capaz de ver as dicas atuais e adicionar ou removê-las. Um objeto "Dicas" é composto da dica em si.
- Implementado "Notícias" na home. As notícias são carregadas ordenadas por data de criação, as mais recentes ficam acima.
- Implementado "Dica" na home. A dica é carregada aleatoriamente.
- Arrumado um bug em que áreas e matérias não seriam salvas adequadamente quando criando um objeto "Provas".
- Arrumado um bug em que a página de cadastro limparia todos os dados mesmo quando um erro ocorresse.
- Arrumado um bug em que a home indicaria erro mesmo que nenhum ocorresse.


v 1.0.0
=========================
- Melhorado o design do site.
- Adicionados mais detalhes para a página "Detalhes da prova".
- Alteradas algumas classes para auxiliar no design. Não deve impactar a funcionalidade de forma alguma.
- Adicionadas algumas loading screens.
- Adicionado foco automático em alguns campos de texto por toda a aplicação.
- Melhorada busca de provas.
- Melhorada a tabela com provas da home, organizando as provas adequadamente.
- Notas limitadas a apenas uma casa decimal.
- Agora é possível utilizar tanto vírgula quanto ponto para definir casas decimais.
- Arrumado um bug em que quando uma prova era deletada suas notas continuavam no BD.
- Agora quando um usuário é deletado, todos os dados a ele referentes são também removidos.
- Alterada label de boas vindas na home, ela agora mostra o nome do usuário ao invés do login.
- Adicionados datepickers nas páginas de cadastro e alteração de cadastro.
- Tentativa de eliminar erros de JS.

sábado, 5 de novembro de 2011

Atualização

O projeto agora está em sua caminhada final. São necessárias apenas mais algumas poucas implementações e tudo deverá estar funcionando como o esperado. Anteriormente o grupo iria utilizar autenticação de usuários via Google Accounts API. No entanto, a implementação dessa autenticação provou ser trabalhosa devido a como o nosso aplicativo está estruturado, e demandaria muito re-trabalho e tempo, algo que não nos é farto. Portanto, para apresentar um aplicativo funcional, utilizaremos uma autenticação rudimentar.
Caso o projeto fosse levado adiante e houvesse mais tempo disponível, o ideal seria implementar a possibilidade de login via OpenID.
No mais, a confecção dos manuais de sistema e de usuário, conforme orientação da professora Eurides, já foi iniciada, sendo provavelmente a última etapa para a finalização do projeto.