├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── README.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── cz │ │ └── jiripinkas │ │ └── jba │ │ ├── Application.java │ │ ├── WebXmlSpringBoot.java │ │ ├── annotation │ │ ├── DevProfile.java │ │ ├── UniqueBlog.java │ │ ├── UniqueBlogValidator.java │ │ ├── UniqueShortName.java │ │ ├── UniqueShortNameValidator.java │ │ ├── UniqueUsername.java │ │ └── UniqueUsernameValidator.java │ │ ├── atom │ │ ├── Entry.java │ │ ├── Feed.java │ │ ├── Link.java │ │ └── package-info.java │ │ ├── controller │ │ ├── BlogController.java │ │ ├── CategoryController.java │ │ ├── IconController.java │ │ ├── IndexController.java │ │ ├── LoginController.java │ │ ├── NewsController.java │ │ ├── RegisterController.java │ │ ├── SitemapController.java │ │ ├── SocialController.java │ │ ├── UserController.java │ │ └── admin │ │ │ ├── AdminCategoryController.java │ │ │ ├── AdminConfigurationController.java │ │ │ ├── AdminDetailController.java │ │ │ ├── AdminItemsController.java │ │ │ ├── AdminNewsController.java │ │ │ └── AdminUsersController.java │ │ ├── dto │ │ ├── BlogDto.java │ │ ├── CategoryDto.java │ │ └── ItemDto.java │ │ ├── entity │ │ ├── Blog.java │ │ ├── Category.java │ │ ├── Configuration.java │ │ ├── Item.java │ │ ├── NewsItem.java │ │ ├── Role.java │ │ └── User.java │ │ ├── exception │ │ ├── PageNotFoundException.java │ │ ├── RssException.java │ │ └── UrlException.java │ │ ├── repository │ │ ├── BlogRepository.java │ │ ├── CategoryRepository.java │ │ ├── ConfigurationRepository.java │ │ ├── ItemRepository.java │ │ ├── NewsItemRepository.java │ │ ├── RoleRepository.java │ │ └── UserRepository.java │ │ ├── rss │ │ ├── TRss.java │ │ ├── TRssChannel.java │ │ ├── TRssItem.java │ │ └── package-info.java │ │ ├── service │ │ ├── AllCategoriesService.java │ │ ├── BlogResultService.java │ │ ├── BlogService.java │ │ ├── CategoryService.java │ │ ├── ConfigurationInterceptor.java │ │ ├── ConfigurationService.java │ │ ├── ItemService.java │ │ ├── NewsService.java │ │ ├── RssService.java │ │ ├── UserService.java │ │ ├── initdb │ │ │ ├── HsqldbManagerService.java │ │ │ └── InitDbService.java │ │ └── scheduled │ │ │ └── ScheduledTasksService.java │ │ └── util │ │ └── MyUtil.java └── resources │ ├── apple-touch-icon.png │ ├── application-dev.properties │ ├── application-prod.properties │ ├── application-test.properties │ ├── application.properties │ ├── favicon.ico │ ├── generic-blog.png │ ├── java-logo.png │ ├── logback.xml │ ├── security.xml │ ├── static │ ├── favicon.ico │ ├── resources │ │ ├── css │ │ │ ├── bootstrap-dialog.min.css │ │ │ └── custom.css │ │ ├── img │ │ │ └── 404.jpg │ │ ├── js │ │ │ ├── account.js │ │ │ ├── admin-categories.js │ │ │ ├── ads.js │ │ │ ├── blogs.js │ │ │ ├── bootstrap-dialog.min.js │ │ │ ├── index.js │ │ │ ├── jquery.ba-throttle-debounce.min.js │ │ │ ├── jquery.cookie.js │ │ │ ├── jquery.unveil.js │ │ │ ├── main.js │ │ │ ├── news.js │ │ │ ├── register.js │ │ │ └── users.js │ │ └── prettyprint │ │ │ ├── lang-apollo.js │ │ │ ├── lang-basic.js │ │ │ ├── lang-clj.js │ │ │ ├── lang-css.js │ │ │ ├── lang-dart.js │ │ │ ├── lang-erlang.js │ │ │ ├── lang-go.js │ │ │ ├── lang-hs.js │ │ │ ├── lang-lisp.js │ │ │ ├── lang-llvm.js │ │ │ ├── lang-lua.js │ │ │ ├── lang-matlab.js │ │ │ ├── lang-ml.js │ │ │ ├── lang-mumps.js │ │ │ ├── lang-n.js │ │ │ ├── lang-pascal.js │ │ │ ├── lang-proto.js │ │ │ ├── lang-r.js │ │ │ ├── lang-rd.js │ │ │ ├── lang-scala.js │ │ │ ├── lang-sql.js │ │ │ ├── lang-tcl.js │ │ │ ├── lang-tex.js │ │ │ ├── lang-vb.js │ │ │ ├── lang-vhdl.js │ │ │ ├── lang-wiki.js │ │ │ ├── lang-xq.js │ │ │ ├── lang-yaml.js │ │ │ ├── prettify.css │ │ │ ├── prettify.js │ │ │ └── run_prettify.js │ └── yandex_60a2aaff053bad91.txt │ └── templates │ ├── account.html │ ├── admin-categories.html │ ├── admin-detail.html │ ├── blog-form.html │ ├── blogs.html │ ├── configuration.html │ ├── error │ └── 404.html │ ├── index.html │ ├── layout │ ├── footer.html │ ├── header.html │ └── other.html │ ├── login.html │ ├── news-detail.html │ ├── news-form.html │ ├── news.html │ ├── register.html │ ├── user-detail.html │ └── users.html └── test ├── java └── cz │ └── jiripinkas │ └── jba │ ├── service │ ├── AllTests.java │ ├── BlogServiceTest.java │ ├── ItemServiceTest.java │ ├── RssServiceTest.java │ └── scheduled │ │ └── ScheduledTasksServiceTest.java │ └── util │ └── MyUtilTest.java └── resources └── test-rss ├── baeldung.xml ├── dfetter.xml ├── hibernate.xml ├── instanceofjava.xml ├── javavids.xml ├── knitelius.xml ├── planetmysql.xml ├── reddit.com.json └── spring.xml /.gitignore: -------------------------------------------------------------------------------- 1 | /debug*log 2 | /target/ 3 | .settings 4 | .classpath 5 | .project 6 | .springBeans 7 | -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RameshMF/java-blog-aggregator-boot/c4f229c61810ec2b2bcd88e9d37596737c8cb200/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.3/apache-maven-3.3.3-bin.zip -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
This application is a successor of original Java Blog Aggregator. It uses Spring boot and runs as a standalone JAR file, JSP and Tiles were switched to Thymeleaf and I organized JavaScript much better.
4 | 5 |
8 | Run with: -Dspring.profiles.active="dev"
9 |
12 | Will run on http://localhost:8080 with embedded HSQL database, username / password: admin / admin 13 |
14 | 15 |
18 | Packaging: mvn clean package -P prod
19 |
22 | Run: java -jar target/java-blog-aggregator.jar --spring.config.location=file:prod.properties --logging.config=file:logback-prod.xml
23 |
28 |
29 | spring.profiles.active=prod
36 |
30 | server.port=8081
31 | spring.datasource.url=jdbc:postgresql://localhost:5432/DB_NAME
32 | spring.datasource.username=USERNAME
33 | spring.datasource.password=PASSWORD
34 | spring.datasource.driverClassName=org.postgresql.Driver
35 |
| name | 109 |operations | 110 |accepted? | 111 |
|---|---|---|
| 116 | 117 | | 118 |
119 | |
121 | 122 | edit 123 | 124 | | 125 |
| name | 60 |operations | 61 |
|---|---|
| 66 | | 67 | 70 | 73 | | 74 |
| blog | 37 |popularity | 38 |category | 39 |user | 41 |edit | 42 |
|---|---|---|---|---|
|
48 | 53 | 54 | 55 | 56 | 57 | |
58 |
59 | 61 | archived 62 | |
67 | 68 | 69 | | 70 |72 | 73 | | 74 |75 | 76 | edit 77 | 78 | 81 | 82 | category: 83 | 91 | | 92 |