$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