{"id":13524887,"url":"https://github.com/Raysmond/SpringBlog","last_synced_at":"2025-04-01T03:32:55.931Z","repository":{"id":49526943,"uuid":"43211941","full_name":"Raysmond/SpringBlog","owner":"Raysmond","description":"A simple blogging system implemented with Spring Boot + Hibernate + MySQL + Bootstrap4. ","archived":false,"fork":false,"pushed_at":"2020-03-19T05:54:33.000Z","size":12537,"stargazers_count":1639,"open_issues_count":20,"forks_count":694,"subscribers_count":139,"default_branch":"master","last_synced_at":"2024-11-02T09:32:04.741Z","etag":null,"topics":["blogging","spring-boot"],"latest_commit_sha":null,"homepage":"http://raysmond.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Raysmond.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-26T15:58:47.000Z","updated_at":"2024-11-02T06:49:03.000Z","dependencies_parsed_at":"2022-09-21T08:32:49.078Z","dependency_job_id":null,"html_url":"https://github.com/Raysmond/SpringBlog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raysmond%2FSpringBlog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raysmond%2FSpringBlog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raysmond%2FSpringBlog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raysmond%2FSpringBlog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Raysmond","download_url":"https://codeload.github.com/Raysmond/SpringBlog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246578957,"owners_count":20799923,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blogging","spring-boot"],"created_at":"2024-08-01T06:01:14.290Z","updated_at":"2025-04-01T03:32:55.610Z","avatar_url":"https://github.com/Raysmond.png","language":"Java","funding_links":[],"categories":["开源","Java","Uncategorized","spring-boot demo"],"sub_categories":["Uncategorized"],"readme":"SpringBlog\n=====\n\n中文开发和部署文档请查看：http://raysmond.com/posts/springblog-guide\n\nSpringBlog is a very simple and clean-design blog system implemented with Spring Boot.\nIt's one of my learning projects to explore awesome features in Spring Boot web programming. You can check my blog \nsite for demo [https://raysmond.com](http://raysmond.com).\n\nThere's no demo online. Here's the screenshot of my previous blog homepage.\n![](http://7b1fa0.com1.z0.glb.clouddn.com/screencapture-blog-raysmond-8080-1480663084590.png)\n\nSpringBlog is powered by many powerful frameworks and third-party projects:\n\n- Spring Boot and many of Spring familiy (e.g. Spring MVC, Spring JPA, Spring Secruity and etc)\n- Hibernate + MySQL\n- [HikariCP](https://github.com/brettwooldridge/HikariCP) - A solid high-performance JDBC connection pool\n- [Bootstrap](https://getbootstrap.com) - A very popular and responsive front-end framework\n- [Pegdown](https://github.com/sirthias/pegdown) - A pure-java markdown processor\n- [ACE Editor](http://ace.c9.io/) - A high performance code editor which I use to write posts and code.\n- [Redis](http://redis.io/) - A very powerful in-memory data cache server.\n- EhCache\n- Thymeleaf (Spring MVC)\n\n## Development\n\nBefore development, please install the following service software:\n\n- [MySQL](https://www.mysql.com)\n\nEdit the spring config profile `src/main/resources/application.yml` according to your settings.\n\nAnd start MySQL and Redis first before running the application.\n\n```\n# If you're using Ubuntu server\n\n# Install MySQL\napt-get install mysql-server\nservice mysql start\nmysql -u root -p\n\u003e\u003e create database spring_blog;\n```\n\nThis is a Gradle project. Make sure Gradle is installed in your machine.\nTry `gradle -v` command. Otherwise install in from [http://www.gradle.org/](http://www.gradle.org/).\nI recommend you import the source code into Intellij IDE to edit the code.\n\n```\n# Start the web application\n./gradlew bootRun\n```\n\n## Development\n\n**How to import the project into Intellij IDEA and run from the IDE?**\n\n```\ngit clone https://github.com/Raysmond/SpringBlog.git \ncd SpringBlog\n\nbower install \n```\n\n1. Clone the project\n2. Download all dependencies\n3. Open the project in Intellij IDEA.\n4. Run `SpringBlogApplication.java` as Java application.\n5. Preview: http://localhost:8080\n    Admin: http://localhost:8080/admin , the default admin account is: `admin`, password: `admin`\n\n\n\u003e Lombok is required to run the project. You can install the plugin in Intellij IDEA.\n\u003e Reference: https://github.com/mplushnikov/lombok-intellij-plugin\n\n\n- Build application jar `./gradlew build`, then upload the distribution jar (e.g. `build/libs/SpringBlog-0.1.jar`) to your remote server.\n- Upload `application-production.yml` to your server and change it according to your server settings.\n- Run it (Java8 is a must)\n\n  ```\n  java -jar SpringBlog-0.1.jar --spring.profiles.active=prod\n  # OR with external spring profile file\n  java -jar SpringBlog-0.1.jar --spring.config.location=application-production.yml\n  ```\n\n## TODO\n\n- [x] Upgrade frontend framework to Bootstrap4\n- [ ] Replace Jade with Thymeleaf(HTML)\n- [ ] Frontend building tools, e.g. webpack\n- [x] Use hibernate 2nd level cache (EHCache?)\n- [ ] Markdown preview while editing\n- [ ] Html editor\n\n## License\nModified BSD license. Copyright (c) 2015 - 2018, Jiankun LEI (Raysmond).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRaysmond%2FSpringBlog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRaysmond%2FSpringBlog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRaysmond%2FSpringBlog/lists"}