This application is a group of services that help users to generate, check, and store secure passwords. It's built with Java, Spring Boot, PostgreSQL, and Docker.
It's my implementation of the Password Generator and Password Checker challenges from the Back-end Challenges repository.
Secure Pass offers the following functionalities:
- Password Generator: Create strong, random passwords.
- Password Checker: Validate the strength and security of passwords.
- Password Storage: Safely store and manage passwords.
openssl genrsa -out src/main/resources/app.key 2048
openssl rsa -in src/main/resources/app.key -pubout -out src/main/resources/app.pub- Create a
.envfile in the root directory using.env.exampleas a template. - Edit the
.envfile to set the required environment variables.
-
Ensure Docker and Docker Compose are installed.
-
Run the following command to start the application:
docker-compose up
-
Ensure Java 17 or latter, Maven, and PostgreSQL are installed.
-
Run the application with:
mvn spring-boot:run
- API Endpoint: http://localhost:8080
- API Documentation (Swagger): http://localhost:8080/swagger-ui/index.html
The following Entity-Relationship Diagram (ERD) shows the properties of the entities:
classDiagram
class User {
UUID id
String name
String email
String password
LocalDateTime createdAt
LocalDateTime updatedAt
}
class Password {
UUID id
String label
String password
LocalDateTime createdAt
LocalDateTime updatedAt
}
User "1" -- "0..*" Password : owns
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
This project is licensed under the MIT License - see the LICENSE file for details.