Online Community Platform with Spring Security

Jul 14, 2022

General System Requirements

  1. Members should be able to post new questions

  2. Member should be able to post comments and see previous comments

  3. Members should be able to upvote specific posts

  4. Members should be able to login in and sign up when necessary.

  5. The system should be able to send Email Verification to new users upon signing up.


Main Usage

  • Create/ Delete/ Get/ Update posts

  • Create/ Delete/ Get/ Update user details

  • Add new comments to posts


Users and Roles

  • Members: Can view and create or delete a new post

  • Anonymous users can view posts

  • Admin: Responsible for account management, adding and modifying posts

  • System: mainly responsible for verifying the user.


Scaling Goals

  • Highly available: We need to make sure that we can handle random spikes in traffic during peak hours

  • Data Security and Privacy: We want the system to be safe and secure for the users access continuously/


Performance Goals

  • Moderate latency: We want to be able to send new verifications seamlessly without any downtimes.

  • Highly available: In the event of a failover, the email service isn't accessible, their operation is paused until failover end. The message will be stored in a Dead Letter Queue which could be restarted once again.


Cost Constraints

  • Minimise the maintenance: We want a reliable system that can handle random spikes in our system


Learn more about this project here

philipdaquin