Projeto de implementação de uma aplicação web de um sistema para locações de bicicletas online utilizando as tecnologias Java Servlets e JSP e para testes foram criados testes de interface e unitários utilizando JUnit e Selenium, com objetivo de contemplar as principais responsabilidades de uma locação de bicicleta explorando e conhecendo melhor como funciona o desenvolvimento de sistemas web.
Sistema de locações - Página inicial
Tal sistema foi projetado e desenvolvido durante o curso de Desenvolvimento de Software para a Web 1 da Universidade Federal de São Carlos (UFSCar), ministrado pelo Prof. Alan Demetrius Baria Valejo, cujo objetivos acadêmicos gerais são:
Familiarizar o estudante com os principais conceitos do desenvolvimento de software para web; capacitar o estudante a desenvolver aplicações web pelo lado do servidor (back-end).
As funcinalidades deste sistema foram baseadas no documento de requisitos proposto pelo professor durante a disciplina.
Funcionalidade 1
Gerenciamento de usuários
: O sistema permite que um super usuário (administrador) gerencie (CRUD) todos os usuários do sistema, tais como locaodoras e clientes.Funcionalidade 2
Locação de bicicletas
: O sistema permite que clientes aluguem bicicletas em certa data das locadoras disponíveis no sistema.Funcionalidade 3
Navegação sem login
: O sistema fornece interfaces para usuários não logados conseguirem utilizar o sistema sem um cadastro.Entre outras...
.
Requisitos do sistema:
- Java 11;
- Tomcat 9;
- IDE Java.
Para testar o projeto, você deve primeiramente cloná-lo em sua máquina:
git clone https://github.com/vinimrs/AA1.git
cd AA1/
Será necessário criar um banco de dados local chamado locadora
no SGBD postgresql com super usuário postgres
e senha postgres
.
Após isso, abra o projeto em sua IDE java de preferência (foi utilizado a IntelliJ IDEA para o desenvolvimento). E inicialize a aplicação na versão 11 do Javasubindo um servidor Tomcat.
Assim que for inicializado será aberto o seu projeto no navegador podendo utilizar o sistema.
Ideias de melhorias para o projeto:
- Verificar as relações quando for remover, por exemplo ao remover um Cliente ou Locadora deve-se remover as locacoes associadas.
- A internazionalizacao deveria guardar a linguagem escolhida em outras páginas (parece estar re-colocando a lingua a cada carregamento).
- Mensagens de erro mais inteligentes (erros de CPF usado ou de E-nail usado).