Implementing a Group Feature Similar to Facebook Groups

I’m working on a project where I want to implement a group feature similar to Facebook Groups. Users should be able to:

  • Create groups
  • Join existing groups either by invitation or through a public join option

I’m unsure how to start with the backend and frontend development for this feature. Specifically, I’m looking for guidance on:

  1. The best database structure to store group information and user memberships.
  2. How to handle group creation and invitations.
  3. Any libraries or frameworks that could help streamline this process.

I haven’t tried anything yet since I’m still in the planning phase, but I’m eager to get started.

Any advice or resources would be greatly appreciated!

Thanks in advance!