Original

How it started


How it started

When I gain knowledge about Spring-Boot framework, I run into a udemy course named A neat blog using Spring Boot framework, by Chinese instrutor Li Renmi. I find it perfect as a personal blog, so this is how the site is started.

Course address:

https://www.udemy.com/spring-boot/

Author:

https://lirenmi.github.io/

The main enhancement I made on the project is to add the support for local images. Previously the courese project onlys supports online images, and I add a image upload and select module so that I can use cellphone to publish blog with local images for the blog.

Tech Stack

Backend

The backend of the site is based on Java Spring Boot. More specifically,

  • Spring Web, as controller lay for servicing the request
  • Spring Data JPA, as a media to talk with database
  • Spring Thymeleaf, a template for the frontend

frontend

The frontend is based on Semantic-UI framework, a similar UI library as Bootstrap, which brings some unique flavors to the table. Besides Semantic UI, several Javescript plugins are used as following:

  • Markdown editor (https://pandao.github.io/editor.md/), for publishing the blog,
  • Tocbot (https://tscanlin.github.io/tocbot/), for auto generating Table of Content of blog,
  • Prism (https://github.com/PrismJS/prism ), for highlighting the code in the blog,

database

Mysql

Environment

DEV

The project is built on JAVA 1.8 Maven and developed in IDEA in windows.

Deployment

The publish environment is an EC2.micro linux instance in AWS, which is also a version control server using SubVersion.

Summary

Spring Boot is really as it is advertised.

Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring. Spring Boot takes an opinionated view of building production-ready applications.

Comparing the traditional web application using java teck stack(JSP/Servlet/JDBC/hibernate/JSF etc), Spring Boot is really in a new level by bringing java developer to modern world. For example,

  • the server(Tomcat) is wrapped inside application, instead of the other way where application being deployed into server, so that the application can be started with its own main method,
  • the configurations are made throught annotation instead of configuration file (xml),
  • it is much easier for the backend to communicate with frontend using template and database using JPA where for most of the case, SQL statement is not required.

To summarize, Spring Boot stands for **Simple is Beauty. **

frontend
backend