Market Classifier é uma aplicação Web desenvolvida para possibilitar a avaliação de mercados por funcionários de TI da Grendene.
Aplicação desenvolvida como teste prático de programação para o ingresso na TI da Grendene.
A primeira questão durante o planejamento do projeto foi sobre quais tecnologias seriam utilizadas: ou utilizar algo hoje não usual no mercado, como JavaFX, mas que já possuo conhecimentos, ou utilizava Spring, a mais produtiva e utilizada framework para Java de hoje, e também, tecnologia a qual nunca antes havia estudo ou utilizado. No fim, Spring foi a melhor escolha, e além de desenvolver essa aplicação, pude adqurir e aplicar um conhecimento novo.
Por conta da utilização do Spring, mais da metade do tempo de desenvolvimento se deu frontend (HTML, CSS, JavaScript), além de que, Spring é uma linguagem focada em produtividade, o que curiosamente talvez não é o melhor para este projeto em específico, pois não pude e não precisei escrever tanto código em Java.
Para o armazenamento em memória, foi utilizado o H2 Database, por conta da boa compatibilidade com o sistema Spring Boot.
Alguns pontos que devem ser revistos para uma eventual utilização real da aplicação.
- Banco de Dados: Implementar um banco de dados persistente.
- Segurança: Desenvolver uma segurança para as rotas HTTP.
- Segurança de contas: Exigir confirmação (via email, por exemplo) ao registrar uma conta, tanto para segurança como para evitar criação de conta somente para avaliar.
- Interface: Como não era o foco do teste, o frontend pode melhorar bastante.
- Finalização de ideias: Algumas ideias do início do projeto, como o registro e exibição dos avaliadores de um mercado, não foram concretizadas. Alguns resquíscios ainda continuam no código, como a escolha da equipe de TI durante o registro.
- Testes: Implementar testes automatizados.
Exigências mínimas para executar o projeto:
- Maven 3.2+ instalado;
- JDK 6+ instalado;
- E caso utilizando Windows, um Shell instalado (ex: Git Bash).
# Clonar o repositório
git clone https://github.com/willgoix/market-classifier
# Entrar na raíz do projeto
cd market-classifier
# Executar a aplicação
./mvnw spring-boot:run
Agora, acesse a aplicação em http://localhost:8080/.