TRABALHO DE PDS

ESTE BLOG É UM TRABALHO DE DESENVOLVIMENTO DE SISTEMAS, FEITO PELOS ALUNOS DO IFSP DA TURMA 305.

SPORTEVENTO

O MAIS NOVO ORGANIZADOR DE EVENTOS ESPORTIVOS.

CONVIDE AMIGOS

CADASTREM-SE NO NOSSO APLICATIVO E APROVEITEM.

VERSAO MOBILE

SPORTEVENTO TAMBÉM POSSUI UMA EXTENSÃO ANDROID.

ESPORTES E TECNOLOGIA

A INTENÇÃO DO PROGRAMA É PROMOVER A INTERAÇÃO E O ESPORTE UTILIZANDO A TECONOLOGIA.

quinta-feira, 30 de julho de 2015

Resumo Semanal 30/07


Nessa semana tivemos o fim do período de férias e início do terceiro e decisivo bimestre. Hoje, em uma reunião com os dirigentes, recebemos a notícia de que cada grupo deveria demitir um integrante. Bruno, nosso gerente, tomou a difícil decisão em dispensar o integrante Gabriel Fiore. Por outro lado, Rebecca Ferreira foi designada a ocupar a vaga deixada pelo antigo integrante. Além disso, apresentamos a primeira versão do Relatório de Desenvolvimento ao professor Bernardo em busca de erros e possíveis melhoras.

segunda-feira, 27 de julho de 2015

Resumo da semana 24/07


Devido a problemas pessoais, a postagem dessa semana acabou atrasando um pouco e por isso peço desculpas. Nesta semana, o Manual Técnico teve avanços em sua conclusão e o Manual do Usuário foi iniciado por Bruno. Na parte de programação, Aconteceu o seguinte:


  • Algumas modificações menores nas Controllers e na visualização das equipes e membros dos clubes.
  • Adição do sistema de criação de equipes e modificações em sua exibição.
  • Atualização dos jars do Spring MVC e do MySQL Connector.
  • Atualização no sistema de segurança e no interceptador.
  • Correção do erro na consulta por clubes.
  • Adição de avisos caso o clube não exista ou caso o usuário já pertença ao clube.
  • Modificações de estilos.
  • Adicionados estilos para a pagina criar usuário e time. 
  • Adição de uma página funcional para a partida.
  • Adição do protótipo do sistema de partidas pendentes.
  • Convites agora podem ser aceitos com sucesso.
  • Adição do protótipo do sistema de torneios.
  • Atualizações no sistema de criação de partidas livres.
  • Adição de todo o sistema de perfil de usuário, seguido de melhorias nas Controllers.
  • Adição de consulta à clubes por nome.
  • Modificações no método para alterar o Clube.

  • Essas foram as mudanças ocorridas entre 17/07 e 24/07. As mudanças que aconteceram entre o dia 24 e a data desta postagem serão publicados neste fim de semana.

    Boa semana a todos.

    segunda-feira, 20 de julho de 2015

    Model e Taglib


    Observando meu desenvolvimento no projeto Sportevento, percebi uma utilização massiva do org.springframework.ui.Model. Então, decidi expor nesse espaço, de uma forma amadora, como que eu usufruo desta ferramenta fornecida pelo Framework Spring MVC.

    Esta Model nada mais é do que uma "memória" temporária, que mantém atributos e depois os copia para o HttpServletRequest. Logo, após uma outra página ser acessada, estes atributos deixam de existir.

    Como estamos trabalhando com um Projeto Web Dinâmico, é comum pegar atributos do Banco de Dados para exibir numa JSP. Abaixo, está um exemplo encontrado no nosso projeto:

    @RequestMapping("/cadastrado")
    public String getCadastro(Usuario usuario, HttpSession session, Model model) {
    usuarioDAO.adiciona(usuario);
    model.addAttribute("cadastrado", "Cadastrado com sucesso. Efetue o Login.");
    return "login";
    }


    Com o model.addAttribute, eu adiciono um atributo à Model, no modo (String, Objeto). Neste caso, eu adicionei a String "cadastrado" e o objeto "Cadastrado com sucesso. Efetue o Login.". Mas como exibir esta mensagem na tela? Simples. Basta utilizar taglibs.

    Taglib consiste numa tag que pode instanciar objetos através de um construtor sem argumentos. Assim, através da String "cadastrado", eu posso instanciar o objeto "Cadastrado com sucesso. Efetue o Login.", como é mostrado no exemplo a seguir:

    <h2><span style="color:red"> ${cadastrado}</span></h2>

    Assim, o objeto é instanciado e, neste caso, exibido na JSP.

    As vezes, em vez de adicionar um simples objeto na Model, é necessário adicionar uma List de objetos, como no exemplo a seguir:

    @RequestMapping("/convites")
    public String getConvites(HttpSession session, Model model) {
    perfil(session, model);
    Usuario user = (Usuario) session.getAttribute("usuarioLogado");
    List<Convite> convites = new ArrayList<Convite>();
    for (Convite c : conviteDAO.recuperarPorDestinatario(user)) {
    if (c.getResposta() == 0) {
    convites.add(c);
    }
    }
    model.addAttribute("convites", convites);
    return "convites";
    }

    Neste caso, a String "convites" será utilizada para instanciar uma lista. Mas não é tão simples exibir uma lista na JSP. Em vez de apenas escrever ${convites}, é necessário fazer um forEach na JSP. Segue o exemplo:

    <c:forEach items="${convites}" var="convite">
    <form action="aceita_convite">
    <input type="submit" name="id" value="${convite.id}">
    </form>
    </c:forEach>

    Traduzindo para o português, para cada item presente na lista instanciada pela palavra "convite", representado pela variável convite, será feito o form mostrado no exemplo. O ${convite.id} pega o id do convite.

    Utilizando-se destas duas simples ferramentas, pode-se confeccionar um programa complexo como o Sportevento. São ferramentas imprescindíveis para a conversa entre BDD e JSP, e, além de serem fáceis de se utilizar, funcionam...

    sábado, 18 de julho de 2015

    Resumo da Semana 17/07


    Nesta semana, devido a atrasos no relatório de desenvolvimento, o gerente Bruno Veneziani tomou as rédeas desta parte da documentação. Apartir de agora, será minha (Gabriel) responsabilidade de atualizar as postagens do blog. Na parte de programação, tivemos melhorias no projeto, providas por Marcos Paulo e Rubens Douglas. Foram elas:
    • A adição de opacidade na Partida Livre;
    • Finalização da página JSP chamada partida livre;
    • Alteração de estilos para a JSP partida livre;
    • Adicionados os estilos para o perfil;
    • Adicionado o perfil na Partida Livre;
    • Adicionada restrição para times com nomes iguais;
    • Máscaras de cadastro modificadas;
    • Colunas da Partida Livre foram separadas;
    • Redução de tamanho dos quadros da Página de Usuário;
    • Perfil adicionado em todas as páginas enquanto usuário estiver logado;
    • Adicionado botão de configuração em todas as páginas; e
    •  Adicionado método de alteração de nome e senha dos usuários.

    sexta-feira, 10 de julho de 2015

    Resumo semanal 10/07


    Nesta semana concluímos o cronograma e avançamos na conclusão do relatório de desenvolvimento. Além disso, na parte de programação,  tivemos avanços e mudanças; estas foram:

    • Adição do sistema de criação de partidas e envio de convites;
    • Criação do JavaScript para verificação do campo "confirmar senha" na página de cadastro;
    • Correção no campo de confirmação de senha no JSP de cadastro;
    • Sistema de confirmação de convites  finalizada;
    • Melhoramento no sistema de convite: Usuário não consegue convidar a sí mesmo;
    • Correção dos métodos "altera" dos DAOs;
    • Adicionada a função Alterar nome do clube;
    • Adicionado o sistema de equipes (lembrando: cada clube tem várias equipes competindo por diversas modalidades);
    • Usuário não entra mais em um clube do qual já faz parte.

    segunda-feira, 6 de julho de 2015

    Problemas com o SVN


    Mais uma vez, encontramos problemas ao acessar o SVN pelo viewvc, mas ainda sim podemos continuar commitando, e apesar de tudo, o desenvolvimento tem que continuar, hoje iniciamos a criação de alguns documentos necessários na documentação final.

    sexta-feira, 3 de julho de 2015

    Resumo semanal 03/07


    Nessa semana tivemos a apresentação para o Professor Bernardo, processo semelhante ao da semana passado para os outros professores(Ivan e Paladino). Diante desta avaliação, mostramos algumas funcionalidades, design e descarte do nosso projeto. Além disso, apresentamos novamente as métricas e o cronograma melhorado de acordo com as observações apontadas na apresentação anterior. Após essa quinta-feira, precisamos de alguns reparos finais no cronograma e métricas e preparação de outros documentos na parte de documentação. Retocar o sistema de convites e implementação de outras funcionalidades do nosso site.

    ← Anterior Proxima → Página inicial