This is the backend application of a password-manager when you are able to manage not only all your passwords and also notes. You can also generate your own random password if you want and check the strength of a password.
ALL YOUR PASSWORDS AND NOTES ARE ENCRYPTED BEFORE BEING STORED IN THE DATABASE, NOT ONLY TO GUARANTEE THE SECURITY OF IT BUT ALSO TO ENSURE THE PRIVACY OF THE USER
This project was made in JAVA 17, using Spring Security to manage the security and Spring Data JPA and PostgreSQL to handle all the data.
To run the entire project you must have Docker installed in you system. After you installed Docker, in case you didn't just run the command bellow in the root folder:
make run
To run tests, you can simply make:
make tests
When you want to stop it just make:
make stop
WHEN USING THE ENDPOINTS DON'T FORGET TO USE THE JWT TOKEN GENERATED (AS A BEARER) IN THE AUTHENTICATION ENDPOINTS
- POST request
localhost:8080/auth/register
{
"firstName": "Renato",
"lastName": "Freire",
"email": "renato@github.com",
"password": "password"
}
- POST request
localhost:8080/auth/login
{
"email": "renato@github.com",
"password": "password"
}
- POST request
localhost:8080/auth/refresh-token
- POST request
localhost:8080/auth/logout
(THIS API DOES NOT NEED AUTHENTICATION)
- POST Request
localhost:8080/password-generator
{
"length": 16,
"useLower": true,
"useUpper": true,
"useNumber": true,
"useSpecials": true
}
(THIS API DOES NOT NEED AUTHENTICATION)
- POST Request
localhost:8080/password-strength
{
"password": "(dtz%YJx4€B5@15@H8Vxc7@eAUz77]7{Y13)h"
}
- GET Request
localhost:8080/logins
- POST request
localhost:8080/logins
{
"name": "GITHUB LOGIN",
"username": "exampleUsername",
"password": "examplePassword",
"url": "https://www.github.com",
"description": "Credentials for personal github account"
}
- GET request
localhost:8080/logins/{loginId}
- PUT request
localhost:8080/logins/{loginId}
{
"name": "GITHUB LOGIN",
"username": "exampleUsername2",
"password": "examplePassword2",
"url": "https://www.github.com",
"description": "Credentials for personal github account"
}
- Delete request
localhost:8080/logins/{loginId}
- GET Request
localhost:8080/notes
- POST request
localhost:8080/notes
{
"name": "Example Note",
"description": "This is an example note."
}
- GET request
localhost:8080/notes/{noteId}
- PUT request
localhost:8080/notes/{noteId}
{
"name": "Update Example Note",
"description": "This is an updated example note."
}
- Delete request
localhost:8080/notes/{noteId}
MIT License