GithubHelp home page GithubHelp logo

raysmond / springblog Goto Github PK

View Code? Open in Web Editor NEW
1.6K 138.0 691.0 12.24 MB

A simple blogging system implemented with Spring Boot + Hibernate + MySQL + Bootstrap4.

Home Page: http://raysmond.com

License: BSD 3-Clause "New" or "Revised" License

Java 64.07% CSS 9.29% HTML 26.64%
spring-boot blogging

springblog's Introduction

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.

There's no demo online. Here's the screenshot of my previous blog homepage.

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 - A solid high-performance JDBC connection pool
  • Bootstrap - A very popular and responsive front-end framework
  • Pegdown - A pure-java markdown processor
  • ACE Editor - A high performance code editor which I use to write posts and code.
  • Redis - A very powerful in-memory data cache server.
  • EhCache
  • Thymeleaf (Spring MVC)

Development

Before development, please install the following service software:

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

  • Upgrade frontend framework to Bootstrap4
  • Replace Jade with Thymeleaf(HTML)
  • Frontend building tools, e.g. webpack
  • Use hibernate 2nd level cache (EHCache?)
  • Markdown preview while editing
  • Html editor

License

Modified BSD license. Copyright (c) 2015 - 2018, Jiankun LEI (Raysmond).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.