+
+# 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.
diff --git a/README_zh.md b/README_zh.md
new file mode 100644
index 0000000..5860633
--- /dev/null
+++ b/README_zh.md
@@ -0,0 +1,80 @@
+