# nicefish-spring-boot **Repository Path**: mumu-osc/nicefish-spring-boot ## Basic Information - **Project Name**: nicefish-spring-boot - **Description**: NiceFish 对应的服务端代码,基于 SpringBoot+JPA+Shiro 。请不要吝惜你的⭐️ Star ⭐️,星星越多,动力越足。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 106 - **Forks**: 61 - **Created**: 2019-08-29 - **Last Updated**: 2025-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: NiceFish, Shiro, JPA, 大漠穷秋, SpringBoot3 ## README
NiceFish is a series of projects aimed at demonstrating the development and deployment of front-end and back-end separation. There are three versions of the front-end: browser environment, mobile environment, and Electron environment; and two versions of the back-end: SpringBoot version and SpringCloud version.
🚀🚀🚀Please don't hesitate to ⭐️ Star ⭐️ this project. The more stars, the more motivation. 🚀🚀🚀
## 1. Introduction This project provides services for the front-end interface of NiceFish. The front-end of the following two versions has been configured for the interfaces: - Front-end based on the Angular framework: http://git.oschina.net/mumu-osc/NiceFish/ - Front-end based on the React framework: https://gitee.com/mumu-osc/NiceFish-React It is recommended to use the React version as it has undergone significant improvements in the past few months. **Note: This project is framework-agnostic. All interfaces are RESTful, and you can use any front-end framework to integrate with them.** ## 2. Development Environment | Name | Version | Description | | --- | --- | --- | | Spring Boot | 3.2 | Released in July 2023 | | JDK | OpenJDK 20 | Spring Boot 3.2 requires at least Java 17, no longer supports Java 8 | | IDEA | Latest version | None | | Maven | 3.8 | Spring Boot 3.2 requires Maven >= 3.6 | | MySQL | >=5 (or MariaDB >=10) | Other versions have not been tested for compatibility | | ElasticSearch (optional) | 8.9 | 8.9 is the latest version as of August 2023, other versions not tested for compatibility | **Note: The compatibility of various Spring modules is complex. If you manage to start successfully, it's better not to modify the versions.** ## 3. Usage 1. git clone https://gitee.com/mumu-osc/NiceFish-React.git 2. Import the root pom.xml using IDEA. 3. Execute the docs/nicefish-spring-boot.sql script in MySQL (includes test data). 4. Modify the application.yml configuration file to match your MySQL configuration. 5. Modify the application.yml configuration file to set the upload directory `uploadPath` to your local directory. 6. Configure Maven to use the Aliyun repository. 7. Start the main class NiceFishCMSApplication.java in the nicefish-cms module. 8. Druid monitoring URL: http://localhost:8080/druid/sql.html [Optional]: Enable ElasticSearch search service 1. Install and configure ES according to the ElasticSearch official documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html 2. Install and configure logstash according to the ElasticSearch official documentation: https://www.elastic.co/guide/en/logstash/8.9/installing-logstash.html 3. Complete the integration of logstash and ElasticSearch as per the official documentation. 4. Configure logstash using the /docs/elastic-mysql-jdbc.conf configuration file provided in this project, and restart the service. Make sure to modify the IP address, port, username, and password. 5. Modify the application.yml configuration file in the nicefish-elastic-search module, setting the IP address and port of ElasticSearch to your own. 6. Start the NiceFishSearchApplication.java in the nicefish-elastic-search module. 7. Open a browser and access http://localhost:8899/nicefish/search/user/get-all to test if the search service is working properly. Adjust it with your local configuration. 8. Set up a proxy in your front-end project to route services with the /search prefix to the nicefish-elastic-search service. ## 4. Project Module Dependency
1. nicefish-core: Provides common utilities.
1. nicefish-shiro-rbac: Provides general authentication and authorization services based on Shiro, using RBAC.
1. nicefish-cms: CMS application based on the above basic modules.
1. nicefish-elastic-search: Provides search service based on ElasticSearch (optional, not required to start).
## 5. Physical Model
The physical model .pdm file is located in the docs directory and can be opened using PowerDesigner. It is currently designed for MySQL databases.
## 6. Series Projects
## 8. Open Source License
MIT
(Note: You are free to use this project, but I am not responsible for any losses caused by its use.)
**(The author of this project is currently seeking a new job opportunity. If you have a good opportunity, please contact me on WeChat: lanxinshuma.)**