Lightweight Rapid Development Scaffold
A lightweight rapid development scaffolding built with SpringBoot and Vue3. This is a universal full-stack project template for quickly building management systems, with built-in code generation capabilities for SpringBoot and Vue projects, and is an actively maintained open-source collaborative project.
Official repository addresses are available on both GitHub and Gitee; refer to the project's official hosting pages for direct clone links.
Prerequisites
This guide uses a Windows development environment with IntelliJ IDEA as the primary IDE. The project requires the following dependencies and tools:
- JDK 8 (LTS release recommended)
- Apache Maven 3.6+
- MySQL 8.0+
- Redis 3.2 or later
- Node.js 16+
- IntelliJ IDEA (or Visual Studio Code for frontend-only development)
Installation guides for these tools can be found in standard technical references.
Clone the Project
Clone the repository to your local machine using your preferred Git client.
Import the Project
Open the project via IntelliJ IDEA's File > Open menu. If you plan to use VS Code for frontend development, only import the maple-admin backend module through Maven. Wait for the IDE to finish loading all Maven dependencies.
Install Frontend Dependencies
Install frontend dependencies by opening a terminal window, navigating to the maple-web directory, and running the standard npm install command. If you encounter slow download speeds, use the Taobao npm mirror with cnpm install instead:
cd maple-web
npm install
Initialize Database
- Create a new MySQL database named
maple-boot - Import the table structure and initial seed data from the
schema.sqlfile located in the project resources. A future database version management tool will automate this setup process. - Modify the database connection settings in the
application-dev.ymlfile under themaple-admin-restmodule. Udpate the username, password, and connection URL to match your local MySQL instance:
spring:
datasource:
dynamic:
primary: default_ds
strict: false
datasource:
default_ds:
url: jdbc:mysql://127.0.0.1:3306/maple-boot?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username: your_mysql_username
password: your_mysql_password
driver-class-name: com.mysql.cj.jdbc.Driver
Configure Redis
Start your local Redis server, then update the Redis connection parameters in the same application-dev.yml file. The project uses Redis only for token expiration management and session invalidation during login; you can modify or remove this integration if you do not wish to use Redis:
spring:
redis:
database: 0
host: 127.0.0.1
password: your_redis_password
port: 6379
Start the Project
Start the SpringBoot Backend
First, configure the server port and active environment in the application.yml file under the maple-admin-rest module. Set the server port to 6666 (if you change this port, update the frontend API request target to match) and set the active profile to dev:
server:
port: 6666
spring:
profiles:
active: dev
You can start the backend service either via the IDE's run toolbar or by directly executing the main class annotated with @SpringBootApplication.
Start the Vue3 Frontend
Update the backend API base URL in the vite.config.ts configuration file. The backend admin API routes are prefixed with /manage by default. Navigate to the maple-web directory in your terminal and run the development server with:
npm run dev
A successful startup will display a local development URL in the terminal output.
Validate Successful Startup
Copy the local development URL from the front end terminal output, open it in a Chrome browser, and you will see the project's login page. Use the default admin credentials to log in; a successful login confirms the project is running correct.
Project Deployment on Linux with Docker
This deployment workflow requires Docker to be installed on your target Linux server. Refer to official Docker documentation for installation instructions.
Backend Deployment
- Modify the production configuration files to match your server's environment, then package the backend module into a runnable JAR file using Maven:
cd maple-admin-rest
mvn clean package -DskipTests
- Upload the generated JAR file and a
Dockerfileto the same target directory on your server. - Build the Docker image using the following command:
docker build -t maple-boot-backend:v1.0.0 .
- Start the backend container with port mapping and proper privileges:
docker run -d --privileged=true --name maple-boot-backend -p 6666:6666 <your-image-id>
- Verify the container is running with
docker ps, and access the API documentation athttp://your-server-ip:6666/doc.html. The default Knife4j basic auth credentials are configured inapplication-dev.yml:
knife4j:
enable: true
production: false
basic:
enable: true
username: admin
password: 123456
Frontend Deployment
- Update the production API base URL in the
.env.productionfile located in themaple-webdirectory:
VITE_API_URL = http://your-server-ip:6666/manage/
- Build the production frontend bundle:
npm run build
- Upload the generated
distfolder to your server's target directory, for example/data/maple-boot-web/web. - Pull the official Nginx Docker image, then start an Nginx container to serve the static frontend files:
docker pull nginx:latest
docker run -d -p 80:80 -v /data/maple-boot-web/web:/usr/share/nginx/html --name maple-boot-frontend <nginx-image-id>
Access the deployed application via your server's public IP address to complete the deployment.