Esse projeto foi desenvolvido durante o curso "Software Engineering" (Engenharia de Software) ministrado pelo Prof. Dr. Andreas Schaad da Hochschule Offenburg (Universidade de Ciências Applicadas de Offenburg), no primeiro semestre de 2020, período em que estudei na Alemanha.
-
Esse projeto foi desenvolvido em Python utilizando a versão 3.8.3. Desta forma, recomenda-se fortemente o uso dessa versão.
-
Todas as bibliotecas externas com suas respectivas versões podem ser encontradas no arquivo "requirements.txt". Para instalá-las, insira em seu terminal:
pip install -r requirements.txt
Esse projeto tem como objetivo ser um gerenciador de senhas, i.e., um sistema capaz de armazenar com segurança senhas de diversas aplicações para diversos usuários, indicando a cada um se sua senha já foi vazado e, em caso positivo, quantas vezes. Além do usuário comum, nosso sitema possui um usuário administrador, capaz de executar algumas tarefas a mais que o usuário comum.
Todas as ações neste sistema são feitas por meio de requests, com a passagem de dados em formato JSON. Desta forma, nosso sistema é capaz de executar as seguintes tarefas:
Feito a partir de um POST Request passando um JSON contendo o email do usuário ("user_email") e a senha do usuário ("user_password"), como exemplificado abaixo:
{
"user_email": "[email protected]",
"user_password": "Senha1234!"
}
Feito a partir de um PUT Request passando um JSON contendo o email do usuário ("user_email"), a senha antiga do usuário ("user_password") e a nova senha do usuário ("user_new_password"), como exemplificado abaixo:
{
"user_email": "[email protected]",
"user_password": "Senha1234!",
"user_new_password": "SenhaNova1234!"
}
Feito a partir de um PUT Request passando um JSON contendo o email do usuário ("user_email"), a senha do usuário ("user_password"), o nome da aplicação do usuário ("service_name") e a senha da aplicação do usuário ("service_password"), como exemplificado abaixo:
{
"user_email": "[email protected]",
"user_password": "SenhaNova1234!",
"service_name": "Facebook",
"service_password": "SenhaDoFacebook"
}
Feito a partir de um PUT Request passando um JSON contendo o email do usuário ("user_email"), a senha do usuário ("user_password"), o nome da aplicação do usuário ("service_name") e a nova senha da aplicação do usuário ("service_new_password"), como exemplificado abaixo:
{
"user_email": "[email protected]",
"user_password": "SenhaNova1234!",
"service_name": "Facebook",
"service_new_password": "NovaSenhaDoFacebook"
}
Feito a partir de um DELETE Request passando um JSON contendo o email do usuário ("user_email"), a senha do usuário ("user_password") e o nome da aplicação do usuário ("service_name"), como exemplificado abaixo:
{
"user_email": "[email protected]",
"user_password": "SenhaNova1234!",
"service_name": "Facebook"
}
Feito a partir de um GET Request passando um JSON contendo o email do usuário ("user_email") e a senha do usuário ("user_password"), como exemplificado abaixo:
{
"user_email": "[email protected]",
"user_password": "SenhaNova1234!"
}
Nos retornando:
{
"Process": "Valid",
"Process_Message": {
"_active": true,
"_creationdate": "2021-05-06 03:03:53.617954",
"_email": "[email protected]",
"_hibp": [
false,
"Pwned 0 time(s)"
],
"_hspassword": "$2b$12$uwyqtYyhFqCe7Vnad40Kz.0G4mMFHe1FfzHrCK3EyRpwUqUBxUB92",
"_lastmodified": null,
"_service_list": [],
"_warning": [
false,
"Never",
0
]
}
}
Feito a partir de um DELETE Request passando um JSON contendo o email do usuário ("user_email") e a senha do usuário ("user_password"), como exemplificado abaixo:
{
"user_email": "[email protected]",
"user_password": "SenhaNova1234!"
}
Feito a partir de um PUT Request passando um JSON contendo o login do administrador ("admin_login"), a primeira senha de administrador ("admin_pw1"), a segunda senha de administrador ("admin_pw2"), a opção de administrador ("admin_opt") e o email do usuário ("user_email"), como exemplificado abaixo:
{
"admin_login": "admin@admin",
"admin_pw1": "PrimeiraSenhaDeAdm",
"admin_pw2": "SegundaSenhaDeAdm",
"admin_opt": OPCAO_DO_ADM,
"user_email": "[email protected]"
}
Onde OPCAO_DO_ADM pode assumir:
- "ACT": Ativa um usuário.
- "DEACT": Desativa um usuário.
- "DEL": Deleta um usuário.
- "RANPAS": Gera uma senha aleatória para um usuário.
Feito a partir de um PUT Request passando um JSON contendo o login do administrador ("admin_login"), a primeira senha de administrador ("admin_pw1"), a segunda senha de administrador ("admin_pw2"), o novo login do administrador ("admin_new_login"), a nova primeira senha de administrador ("admin_new_pw1") e a nova segunda senha de administrador ("admin_new_pw2"), como exemplificado abaixo:
{
"admin_login": "admin@admin",
"admin_pw1": "PrimeiraSenhaDeAdm",
"admin_pw2": "SegundaSenhaDeAdm",
"admin_new_login": "new_admin@admin",
"admin_new_pw1": "NovaPrimeiraSenhaDeAdm",
"admin_new_pw2": "NovaSegundaSenhaDeAdm"
}
- Para iniciarmos nossa aplicação, basta inserirmos em nosso terminal:
python -m pms.app
- Com nossa aplicação já inicializada, podemos executar as ações como descrito acima. Note que, isso pode ser feito, por exemplo, por meio de Softwares externos como o Postman.
Para mais informações, abaixo encontra-se o relatório escrito por mim a respeito deste projeto.