Um simples sistema de login feito em Ruby
Uma ótima forma de aprender é praticando, por isso eu desenvolvi esse pequeno projeto para aprender tecnologias e práticas que todos sistemas de login deve ter.
- Login
- Registro
- Cache de sessões
- Redis
- MySql
- Ruby
- Html e CSS puros
- Sinatra (gem do Ruby)
Eu não foquei muio no index, pois o sistema é apenas para práticar outras tecnologias.

Aqui é onde o usuário cria sua conta e informa algumas informações para uso do sistema.

Aqui é onde o usuário faz o seu login, email e senha.
OBS: No meio tempo que estava fazendo esse projeto, eu estudei um pouco sobre SQL injection e infelizmente o meu sistema estava vulnerável, mas tratando a entrada de informações consegui mitigar essa falha.

Quando o usuário faz o login, é salvo um UUID em um cookie e com esse cookie podemos modificar o conteúdo visto pelo usuário, pois puxamos suas informações do banco de dados.

- O sistema de cache tambem ajuda a melhorar a velocidade do sistema, pois é salvo no Redis todas as informações mais acessadas (email, nome, etc) e cache e o cookie de login expiram juntos, evitando sobrecarga no cache e aumentando a segurança com sessões limitadas.