SpringBlog ===== 中文开发和部署文档请查看:http://raysmond.com/posts/springblog-guide SpringBlog is a very simple and clean-design blog system implemented with Spring Boot. It's one of my learning projects to explore awesome features in Spring Boot web programming. You can check my blog site for demo [https://raysmond.com](http://raysmond.com). There's no demo online. Here's the screenshot of my previous blog homepage. ![](http://7b1fa0.com1.z0.glb.clouddn.com/screencapture-blog-raysmond-8080-1480663084590.png) SpringBlog is powered by many powerful frameworks and third-party projects: - Spring Boot and many of Spring familiy (e.g. Spring MVC, Spring JPA, Spring Secruity and etc) - Hibernate + MySQL - [HikariCP](https://github.com/brettwooldridge/HikariCP) - A solid high-performance JDBC connection pool - [Bootstrap](https://getbootstrap.com) - A very popular and responsive front-end framework - [Pegdown](https://github.com/sirthias/pegdown) - A pure-java markdown processor - [ACE Editor](http://ace.c9.io/) - A high performance code editor which I use to write posts and code. - [Redis](http://redis.io/) - A very powerful in-memory data cache server. - EhCache - Thymeleaf (Spring MVC) ## Development Before development, please install the following service software: - [MySQL](https://www.mysql.com) Edit the spring config profile `src/main/resources/application.yml` according to your settings. And start MySQL and Redis first before running the application. ``` # If you're using Ubuntu server # Install MySQL apt-get install mysql-server service mysql start mysql -u root -p >> create database spring_blog; ``` This is a Gradle project. Make sure Gradle is installed in your machine. Try `gradle -v` command. Otherwise install in from [http://www.gradle.org/](http://www.gradle.org/). I recommend you import the source code into Intellij IDE to edit the code. ``` # Start the web application ./gradlew bootRun ``` ## Development **How to import the project into Intellij IDEA and run from the IDE?** ``` git clone https://github.com/Raysmond/SpringBlog.git cd SpringBlog bower install ``` 1. Clone the project 2. Download all dependencies 3. Open the project in Intellij IDEA. 4. Run `SpringBlogApplication.java` as Java application. 5. Preview: http://localhost:8080 Admin: http://localhost:8080/admin , the default admin account is: `admin`, password: `admin` > Lombok is required to run the project. You can install the plugin in Intellij IDEA. > Reference: https://github.com/mplushnikov/lombok-intellij-plugin - Build application jar `./gradlew build`, then upload the distribution jar (e.g. `build/libs/SpringBlog-0.1.jar`) to your remote server. - Upload `application-production.yml` to your server and change it according to your server settings. - Run it (Java8 is a must) ``` java -jar SpringBlog-0.1.jar --spring.profiles.active=prod # OR with external spring profile file java -jar SpringBlog-0.1.jar --spring.config.location=application-production.yml ``` ## TODO - [x] Upgrade frontend framework to Bootstrap4 - [ ] Replace Jade with Thymeleaf(HTML) - [ ] Frontend building tools, e.g. webpack - [x] Use hibernate 2nd level cache (EHCache?) - [ ] Markdown preview while editing - [ ] Html editor ## License Modified BSD license. Copyright (c) 2015 - 2018, Jiankun LEI (Raysmond).