This Case Study follows a new author through the creation of a small web application with Spring from the ground up.
The app helps users manage their posting to Reddit by scheduling Posts, determining the best times to post, re-trying posts when they’re not immediately performing well, etc.
A quick introduction to how to authenticate your application with Spring Security and the Reddit OAuth2 API.
A basic interaction with the Reddit API – posting a new Link, using Spring Security OAuth2.
How to build a simple Spring app to schedule, edit and delete Posts using the Reddit API.
The reddit app in this case study is coming along and slowly starting to become usable.
How to introduce rate limiting into an app when consuming an external API.
Building a new feature into the case-study app – scheduling a post to Reddit from the RSS feed of a pre-defined site.
A new feature in the case-study Reddit app – delete and retry a Post that’s not getting traction early on.
The case study is moving along nicely with this second round of improvements and new functionality. We can now really fine-tune the delete-resubmit functionality.
How to make the timezone configurable in the Reddit app and display all dates according to the timezone of the user.
New basic registration flow and simple form-based login to replace the “Login and Register” via Reddit. The app now has a clean auth process all around.
Basic API testing for the ever evolving Reddit Application.
Simple Roles and Privileges added to the app, a scheduling limit for standard users and a basic admin screen.
Improving the Reddit app in the case study with: better tables, email notifications, simple voting rules and extra validation.
How to to simpler conversions from Entities to DTOs and back in a Spring REST API.
A significant improvement in the Reddit app case study – we’re not keeping track of the full history of actions for posts.
Improvements to the registration flow of the reddit app, converting the project to Boot, handling session timeout and disabling the user. Improvements galore.