Skip to content
Maruf Bepary edited this page May 3, 2026 · 6 revisions

Overview to the Project

Introducing Circus, a discussion platform built on Next.js and Firebase. It now covers communities, voting, saved posts, and admin controls. Users join and manage communities, post with images, vote, share, and save posts for later. Threaded comments and search keep discussions connected. Authentication supports email/password plus Google and GitHub. Profile edits sync to posts and comments. The UI is responsive with light/dark mode and global toasts.

Features

Authentication & Account Management

The system has several key user authentication and account management features designed to ensure that users have a seamless and secure experience:

  • Users can sign up using email and password
  • Users can sign up using third-party authentication providers such as Google and GitHub
  • Users can log in and log out
  • Users can reset their password
  • Users can update their profile image and username, with changes synced to posts and comments

Community

The system has several key community management features designed to promote engagement and collaboration among users:

  • Users can create communities with public, restricted, or private types
  • Users can subscribe and unsubscribe to and from a community
  • Admins can upload, change, or delete the community logo
  • Admins can change community visibility
  • Admins can add or remove other admins
  • Admins can remove members from a community
  • Users can view and paginate public and restricted communities, grouped by moderating, joined, or discover
  • Admins can delete a community with cascade cleanup of posts, comments, votes, snippets, and images

Posts

The system has several key features designed to make it easy for users to create and view posts within communities:

  • Users can create a post in a specific community with an optional image
  • Users can browse infinite feeds per community or home, with personalized subscribed feeds and a vote-ranked feed for guests
  • Users can open a post to interact with threaded comments
  • Users can view posts from subscribed communities and discover posts from all communities
  • Users can delete a post they have created
  • Users can vote on a post
  • Users can share a post
  • Users can save and unsave posts, and review them in a saved posts modal

Comments

The web application has several key features designed to make it easy for users to engage with others by creating and viewing comments:

  • Users can create threaded replies to posts and comments
  • Users can view nested comments in a post
  • Users can delete a comment they created
  • Comment counts stay in sync when threads change

General

The system has several general features to make the site user-friendly and accessible:

  • Logged-in users can view an infinite home feed from communities they are subscribed to
  • Logged-out users can view a vote-ranked home feed from all communities
  • Global search modal for public communities and recent posts
  • Community discovery and recommendations with infinite scroll
  • System UI is responsive, hence it can be used on smartphones, tablets, or computers
  • Global light/dark-mode toggle with preference persistence across sessions
  • Toast notifications for key actions

Clone this wiki locally