Aplicativo

Solução

A solução proposta é um aplicativo capaz de conectar motoristas e caronistas que fazem parte de uma determinada comunidade, como por exemplo uma empresa ou uma universidade. Para o protótipo da solução, foi utilizada a comunidade da Cidade Universitária da USP. Quando o usuário se registra no aplicativo, é feita a verificação do email utilizado, que deve pertencer à USP (@usp.br).

Aplicativo

As seguintes imagem demonstram o aplicativo desenvolvido.

Tela de login

Tela de perfil

Tela de caronas oferecidas

Telas de detalhes de uma carona

Telas de detalhes de uma carona

Autenticação

No contexto de engenharia de software, a autenticação é um dos principais conceitos relacionados à segurança de um sistema. Para se ter autenticação, é necessário atender ao requisito de que somente usuários autorizados devem poder acessar os recursos do sistema. Dessa forma, para facilitar a implementação dessa característica de segurança na solução, optou-se por utilizar a ferramenta Firebase da Google, que fornece um banco de dados de usuários e serviços de autenticação integrados às suas credenciais. Fazendo uso do Firebase juntamente com o serviço de Sign-In da Google, é possível registrar usuários sem precisar salvar informações confidenciais em nosso próprio banco de dados, como senhas ou tokens de acesso.

Além disso, através desse método de autenticação também é possível facilmente verificar informações dos potenciais usuários antes de registrá-los no sistema. Principalmente, é possível checar se o usuário fez o processo de Sign In utilizando um email do domínio USP (usp.br), o que garante que este usuário é alguém vinculado à USP de alguma forma, por exemplo um aluno de graduação. Para fazer o Sign In da Google, é necessário fornecer tanto o email quanto a senha nos campos de entrada do portal de autenticação da USP, o que significa que não é possível se registrar no aplicativo fornecendo apenas um email do domínio USP e sem saber a senha dele.

Repositório do Projeto

Link para o repositório do frontend do projeto: