76 lines
2.1 KiB
Markdown
76 lines
2.1 KiB
Markdown
# Project: RuoYi
|
|
|
|
## Project Overview
|
|
|
|
This project, RuoYi, is a Java-based rapid development platform with a separate frontend and backend.
|
|
|
|
**Backend:**
|
|
* **Framework:** Spring Boot
|
|
* **Security:** Spring Security, JWT
|
|
* **Database:** The presence of `pom.xml` and `ry_*.sql` files suggests a relational database like MySQL.
|
|
* **Modules:** It's a multi-module Maven project, including `ruoyi-admin`, `ruoyi-framework`, `ruoyi-system`, `ruoyi-quartz`, `ruoyi-generator`, and `ruoyi-common`.
|
|
* **Key Technologies:** Redis, Druid connection pool, PageHelper for pagination.
|
|
|
|
**Frontend:**
|
|
* **Framework:** Vue.js 2
|
|
* **UI Library:** Element UI
|
|
* **Build Tool:** vue-cli
|
|
|
|
## Building and Running
|
|
|
|
### Backend
|
|
|
|
The backend is a standard Maven project.
|
|
|
|
**Build:**
|
|
To build the entire project, run Maven's `package` goal from the root directory:
|
|
```bash
|
|
mvn package
|
|
```
|
|
|
|
**Run:**
|
|
The `ry.sh` script is provided to manage the application. To run the application, you can use the following command from the root directory:
|
|
|
|
```bash
|
|
# Make sure the script is executable
|
|
chmod +x ry.sh
|
|
|
|
# Start the application
|
|
./ry.sh start
|
|
```
|
|
This will start the `ruoyi-admin.jar`.
|
|
|
|
To stop the application:
|
|
```bash
|
|
./ry.sh stop
|
|
```
|
|
|
|
### Frontend
|
|
|
|
The frontend is a Vue.js project located in the `ruoyi-ui` directory.
|
|
|
|
**Install Dependencies:**
|
|
Navigate to the `ruoyi-ui` directory and install the dependencies. The `pnpm-lock.yaml` file suggests `pnpm` is the preferred package manager.
|
|
|
|
```bash
|
|
cd ruoyi-ui
|
|
pnpm install
|
|
```
|
|
|
|
**Run in Development Mode:**
|
|
```bash
|
|
pnpm run dev
|
|
```
|
|
|
|
**Build for Production:**
|
|
```bash
|
|
pnpm run build:prod
|
|
```
|
|
|
|
## Development Conventions
|
|
|
|
* **Backend:** The project follows standard Maven project structure and conventions. It is a multi-module project.
|
|
* **Frontend:** The frontend uses Vue.js with single-file components (`.vue` files). The `package.json` file defines scripts for common tasks.
|
|
* **Database:** SQL migration scripts seem to be located in the `sql` directory.
|
|
* **Code Generation:** The project includes a `ruoyi-generator` module, which can be used to generate boilerplate code.
|