# 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.
