Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

$100K MRR - Project Proposal

Team Name

$100K MRR

Team Members

  • Nathan Lodge
  • Slater Leonardo

Business Opportunity / Problem

Social Media Web Application

Users

Our users will be anyone who is interested in using a social media site to stay social. In reality, it will be mostly NEIT students.


User Requirements

Non-Logged-In Users

  • View Posts
  • View Timeline
  • Advanced Timeline Management
    • Sort Timeline
    • Filter Timeline
    • Search Posts
  • View Profiles
  • Sign up
  • Log in
  • Reset Password (maybe, if we choose to use Resend for sending emails)
  • Change Website Theme

Users

  • Post Management
    • React to Post
    • Create Post
    • Edit Post
    • Delete Post
    • Share Post
    • Reply to Post
    • Add an Image to a post (up to 4)
    • Add animated images (gifs)
    • Video uploading (max 1)
    • Rich Post Functionality
      • Mentioning
      • Hashtags
      • Reaction List
  • Other Users Management
    • Follow User
    • View Other User’s Followers
  • Profile Management
    • Add Profile Picture
    • Animated Profile Pictures (gifs)
    • Add Banner
    • Update Bio
    • Update Username / Display Name
    • Update Password
  • Notifications
    • Get notified when another user reacts to your post
    • Get notified when another user follows you
    • Get notified when another user replies to your post
  • Live Events
    • Real-time notifications via WebSockets
  • Developer Tools
    • Ability to create a bot
    • API access for programmatic interaction
  • Profile Badges
    • Admin Badge
    • Follower Badges: 10+, 25+, 100+

Admins

  • View All Profiles
  • View Reports
  • Delete Accounts
  • Delete Posts

Technology Stack

Frontend

  • Next.js / React
  • Tailwind CSS
  • TypeScript
  • Socket.io Client

Backend

  • Golang
  • Gin
  • Gorm
  • Socket.io

Infrastructure

  • PostgreSQL
  • Docker
  • Minio S3 (maybe, for image blob storage)

Services

  • GitHub
  • Cloudflare
  • Resend (maybe, for emails)
  • Google (maybe, for Google OAuth logins)

High Level Database Architecture

  • Users
  • Posts
  • Notifications
  • Relationships (Followers / Following)
  • Reactions (our version of Likes)
  • Shares
  • Reports