JoyStream é uma plataforma web para descoberta e recomendação de jogos, onde os usuários podem encontrar, favoritar e receber recomendações personalizadas de jogos com base em seus interesses.
- Java 11
- Maven
- Apache Tomcat
- Servlet API 4.0.1
- JSTL 1.2
- MySQL Connector 8.0.33
- BCrypt 0.4 (para hash de senhas)
- Bootstrap (Frontend)
- FontAwesome (Ícones)
- Java JDK 11 ou superior
- Maven 3.6 ou superior
- Apache Tomcat 9.x
- MySQL 8.0 ou superior (caso queira criar um banco local e não apontar pro remoto ou se ele estiver indisponível)
- IDE de sua preferência (recomendamos IntelliJ IDEA ou Eclipse)
- Clone o repositório:
git clone [https://github.com/profrafaelfrasson/JoyStream]
cd joystream- Instale as dependências:
mvn clean install- Configure o MySQL 8.0 ou superior
- Importe o schema do banco de dados
- Configure o Tomcat em sua IDE
- Adicione o projeto como uma aplicação web
- Configure o contexto da aplicação para
/joystream
- Execute o Tomcat através da sua IDE
- Acesse a aplicação em:
http://localhost:8080/joystream
joystream/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── joystream/
│ │ │ ├── controller/ # Servlets e controladores
│ │ │ ├── dao/ # Camada de acesso a dados
│ │ │ ├── model/ # Classes de modelo
│ │ │ └── service/ # Lógica de negócios
│ │ ├── resources/ # Recursos e configurações
│ │ └── webapp/
│ │ ├── assets/ # Recursos estáticos (CSS, JS, imagens)
│ │ ├── components/ # Componentes JSP reutilizáveis
│ │ └── WEB-INF/ # Configurações da aplicação web
└── pom.xml # Configuração do Maven
- Sistema de autenticação de usuários
- Catálogo de jogos com informações detalhadas
- Sistema de recomendação personalizado
- Lista de jogos favoritos
- Interface responsiva e moderna
- Integração com sistema de pontuação Metacritic
- Filtragem por gêneros e plataformas
- Senhas criptografadas com BCrypt
- Proteção contra SQL Injection
- Validação de formulários no cliente e servidor
- Sessões seguras
- Sanitização de dados de entrada
- O sistema de recomendação utiliza algoritmos baseados nos jogos favoritos do usuário
- A interface foi desenvolvida com foco em UX e responsividade
- Implementação de SEO básico nas páginas principais
- Sistema de logging para monitoramento e debugging
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Para problemas e sugestões, por favor abra uma issue no repositório do projeto.
- Ana Karoline Bitencourt;
- Ewellin Barreto;
- Felipe Martins;
- Manoel Vitor;
- Patrick Luiz Farias;
- Vitória Silva;