Logo
API of Oxygen Toolbox

Build Release LICENSE
# Overview ([ZH](README_zh.md), EN) This project is the backend API of Oxygen Toolbox. Provides tool store, tool management, authentication, user management and other functions. # Requires - Java 17+ - MySQL - Redis # Related projects [Web UI of Oxygen Toolbox](https://github.com/FatttSnake/oxygen-ui) [Desktop Client of Oxygen Toolbox](https://github.com/FatttSnake/oxygen-desktop) [Android Client of Oxygen Toolbox](https://github.com/FatttSnake/oxygen-android) # Quick Start 1. First run, generate configuration file template ```shell java -jar oxygen-api.jar ``` 2. Copy the `application-config.example.yml` file in the `data` directory to the running directory and rename it to `application-config.yml` ```shell cp ./data/application-config.example.yml application-config.yml ``` 3. Edit the content of the configuration file `application-config.yml` 4. Run again ```shell java -jar oxygen-api.jar ``` # Security Integration with Spring Security and add other filter for jwt token process. The secret key is stored in `application-config.yml`. # Database Two databases, MySQL + SQLite, are used. MySQL is used to store key data, and SQLite is used to store logs and other data that require a large amount of reading and writing. # Q&A > **Q: What is the default administrator account and password?** > > A: If configured in `application-config.yml` before initializing the database, use the specified account and password. If not configured, a random password will be generated by default. See the console output for details. > **Q: Do I need to initialize the database?** > > A: This project uses `Flyway` to automatically initialize the database without manually defining the data table structure. To ensure data security, please back up the database before upgrading.