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.

sexta-feira, 26 de junho de 2015

Resumo Semanal - 26/06


Nessa semana tivemos a apresentação do segundo bimestre para o professor Ivan e Paladino. Por meio dessa avaliação tivemos resultados negativos referentes ao nosso projeto, tanto na programação quanto na documentação. Depois de quinta-feira, a equipe trabalhará intensamente até obtermos resultados satisfatórios, começando com a revisão das métricas e do cronograma  na parte da documentação e do desenvolvimento das funcionalidades do Website na parte da programação com o prazo estipulado para a próxima apresentação que será no dia 02/07.

quinta-feira, 18 de junho de 2015

Resumo semanal - 18/06


Hoje iniciou as apresentações dos grupos de PDS e, além de estarmos finalizando o CRUD, falta terminar a documentação (cronograma, métricas) e a apresentação. Através de reuniões, decidimos abandonar a ideia da extensão mobile devido a necessidade de todos estarem desenvolvendo a parte web.

segunda-feira, 15 de junho de 2015

Apresentação de LPG dia 15/06


Hoje, eu e o Rubens fizemos a avaliação de LPG, apresentando o funcionamento de alguns métodos e certas funcionalidades como o login do SportEvento para o professor Balthazar. Tiramos 9,5 nessa prova, mas ainda há muito a se fazer antes da 2ª apresentação de PDS.

quinta-feira, 11 de junho de 2015

Resumo semanal 11/06


Nessa semana, terminei alguns ajustes no login da aplicação e ele está funcionando, assim como o cadastro dentro da mesma, Marcos fez alterações no CSS da página inicial, e está fazendo o CSS da página de usuário, Rubens fez algumas modificações nos interceptadores, que estavam barrando o login.
Hoje foi decidida a ordem de apresentações que acontecerão nas próximas semanas, e a equipe TeamToddynho vai ser a 8ª a se apresentar, logo temos duas semanas para adicionar mais funcionalidades ao nosso projeto, gerar documentos e fazer o vídeo do gource.

sábado, 6 de junho de 2015

Interceptador


Eu, responsável pela confecção do funcionamento lógico do projeto, usufrui do Spring desde o começo do desenvolvimento do programa. As Controllers já foram feitas, e direcionam corretamente o usuário para a página que ele quiser acessar. Porém, algumas dessas páginas não deveriam ser acessadas por usuários não logados. É necessário a existência de algo que barre o acesso do usuário a certas páginas. Para isso, utilizei o AutorizadorInterceptor.

O AutorizadorInterceptor implementa a interface HandlerInterceptorAdapter para poder utilizar o método preHandle. Este, por sua vez, recebe a requisição e a resposta, além do Controller que será interceptado. O retorno é um booleano que indica se pode continuar com a requisição ou não.

Como as páginas index, login e cadastro não necessitam que o usuário esteja logado para serem acessadas, coloquei a seguinte condição:

if (uri.endsWith("index") || uri.endsWith("login") || uri.endsWith("cadastro") || uri.contains("resources")) {
return true;
}

Assim, se o usuário tentar acessar um link que termine com o nome de uma dessas páginas, ele não será barrado. A pasta resources também pode ser acessada mesmo sem estar logado, pois é nela que ficam as imagens, os CSSs e os JavaScripts.

Além disso, existe outra condição para o usuário poder acessar a página requisitada:

if(request.getSession().getAttribute("usuarioLogado") != null) {
return true;
}

Ou seja, se o usuário estiver logado, ele poderá acessar a página requisitada. O Attribute "usuarioLogado" é dado à sessão pelo LoginController para o usuário que logar com sucesso (login e senhas compatíveis):

@RequestMapping("/logar")
public String efetuaLogin(Usuario usuario, HttpSession session) {
 if(new JpaUsuarioDAO().existeUsuario(usuario)) {
   session.setAttribute("usuarioLogado", usuario);
   return "PaginaUsuario";
 }
 return "redirect:login";
}

E, caso nenhuma dessas requisições sejam atendidas...

response.sendRedirect("login");
return false;

O interceptador barra o acesso do usuário à página requisitada, e o mesmo é redirecionado para a página de login.

Interceptador é uma das poucas classes que não podem ser indicadas via uma anotação. Então, foi necessário indicar o local do Interceptor para o Spring no DispatcherServlet:

<mvc:interceptors>
<bean
class="br.edu.ifsp.spo.t305.teamtoddynho.sportevento.controller.interceptor.AutorizadorInterceptor" />
</mvc:interceptors>

Assim, toda vez que o usuário requisitar o acesso à uma página (ou seja, chamar o método de algum dos Controllers), o Interceptador é chamado, e seu método irá decidir se o usuário esta autorizado ou não. Esta classe é imprescindível para garantir a segurança do site. Na verdade, ela é imprescindível para a existência de um projeto Web dinâmico. Sem ela, qualquer um teria acesso à informações que em teoria deveriam ser confidenciais, como o perfil de um usuário.

Com o Interceptador pronto, o próximo passo é permitir que o usuário cadastre-se, logue, crie uma partida e deslogue. Com o Bruno ainda terminando os DAOs, fico com a missão de realizar os JavaScripts do projeto. Até a próxima quinta, uma boa parte destas funções, se não todas, já estarão prontas.

segunda-feira, 1 de junho de 2015

Instabilidades com o SVN


Nestes últimos 4 dias o Repositório SVN ficou indisponível para utilização em diversas ocasiões, sendo que não foi possível fazer commits no mesmo no fim de semana. Ao que me parece a situação voltou ao normal hoje de manhã e pudemos fazer nossas atualizações.

Resumo semanal


Nessa semana Rubens desenvolveu algumas Controllers como LoginController, HomeController e CadastroController; além de ter modificado algumas jsps fazendo links entre elas funcionarem; ele também começou a integração do Hibernate e JPA ao projeto, assim como fez modificações em alguns DAOs e Domains e mais algumas mudanças menores. Eu e Rubens fizemos a autenticação do Login, quase finalizando esse requerimento por completo. Fiore terminou de fazer as métricas dos meses anteriores (Março e Abril) além de criar a métrica final. Lucas definiu o layout do login no projeto Android e Marcos modificou o design por completo do site, com a adição de novos arquivos de CSS e utilização de um Formoid. O layout do site já foi definido e só falta deixar o design responsivo.
← Anterior Proxima → Página inicial