Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wesleybertipaglia/securepass-api
This application is a group of services that help users to generate, check, and store secure passwords.
https://github.com/wesleybertipaglia/securepass-api
backend java spring
Last synced: 17 days ago
JSON representation
This application is a group of services that help users to generate, check, and store secure passwords.
- Host: GitHub
- URL: https://github.com/wesleybertipaglia/securepass-api
- Owner: wesleybertipaglia
- License: mit
- Created: 2024-09-04T16:36:43.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-09-17T13:34:18.000Z (2 months ago)
- Last Synced: 2024-10-10T17:23:28.602Z (about 1 month ago)
- Topics: backend, java, spring
- Language: Java
- Homepage:
- Size: 98.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Secure Pass
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](https://github.com/wesleybertipaglia/backend-challenges/) repository.
## Table of Contents
- [Features](#features)
- [Getting Started](#getting-started)
- [Entities](#entities)
- [Contributing](#contributing)
- [License](#license)## Features
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.## Getting Started
### 1. Generating `app.key` and `app.pub`:
```bash
openssl genrsa -out src/main/resources/app.key 2048
openssl rsa -in src/main/resources/app.key -pubout -out src/main/resources/app.pub
```### 2. Create the `.env` File
- Create a `.env` file in the root directory using `.env.example` as a template.
- Edit the `.env` file to set the required environment variables.### 3. Running the Application
#### Option 1: Using Docker
1. Ensure Docker and Docker Compose are installed.
2. Run the following command to start the application:```bash
docker-compose up
```#### Option 2: Using Maven
1. Ensure Java 17 or latter, Maven, and PostgreSQL are installed.
2. Run the application with:```bash
mvn spring-boot:run
```### 4. Accessing the Application
- **API Endpoint**: [http://localhost:8080](http://localhost:8080)
- **API Documentation (Swagger)**: [http://localhost:8080/swagger-ui/index.html](http://localhost:8080/swagger-ui/index.html)## Entities
The following Entity-Relationship Diagram (ERD) shows the properties of the entities:
```mermaid
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
```## Contributing
Contributions are welcome! Please fork the repository and submit a pull request with your changes.## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.