YourVibes is a next-generation social media ecosystem, combining web, mobile, backend, AI services, and admin CMS into a unified platform.
This repo hosts the YourVibes Web Client built with React (Next.js & TypeScript).
The YourVibes ecosystem is composed of multiple services working together:
-
Backend Service (Golang) → yourvibes_server_golang
Handles API requests, business logic, and integrations. Built with Go (Gin-Gonic). -
Mobile App (React Native) → yourvibes_mobile_app_android
Cross-platform mobile app for Android/iOS users. -
Web Client (React/Next.js) → yourvibes-client
The main web application for end-users. -
Admin CMS (React/Next.js) → yourvibes-cms
A content management system for platform administrators. -
AI Service (Python) → yourvibes_ai_service_python
AI-powered content moderation (e.g., censoring sensitive content). -
Core Infrastructure
- Redis → Caching for performance.
- RabbitMQ → Asynchronous communication (push notifications, AI service jobs).
- gRPC → Efficient communication between Golang backend & Python AI service.
- PostgreSQL → Primary relational database.
The system uses PostgreSQL with a schema designed to support all core social media functionalities.
Entity Relationship Diagram (ERD):

Key Tables
users: User accounts, profile info, roles.posts: User posts with privacy settings (public, friend_only, private).comments: Nested (infinite) comment threads.conversations&messages: Direct messaging system.notifications: User alerts (new posts, comments, requests).friend_requests,friends: Friendship handling.advertises,new_feeds: Ads and feed distribution.reports,bills: Moderation reports & ad billing.
- Posts & Privacy: Share posts with custom visibility settings (public, friend_only, private).
- Engagement: Like, share, and multi-layer commenting (AI-censored if sensitive).
- Notifications: Real-time socket notifications + dashboard view.
- Friends: Add/unfriend, suggestions, birthdays.
- Profiles: Manage avatar, cover, personal info with privacy controls.
- Newsfeed & Trending: Personalized feed + trending posts (based on interaction thresholds).
- Advertising: Promote posts (33,000 VND/day, max 30 days).
- Featured Posts: Automatically boosted if engagement thresholds are met.
- Messaging: Socket-based chat (1:1 and group) with roles (owner/member).
- Authentication: Email signup/login + Google login.
- Revenue Dashboard: System earnings tracking.
- Reports Management: Handle user, post, and comment reports.
- Moderation Tools: Block/unblock posts, comments, or users (with email notifications).
- Transactions: Review ad payment history.
- Super Admin: Manage admin accounts.
- Remove expired ads & featured posts.
- Push posts to friend feeds.
- Enforce posting/boost limits.
We contributions! Follow these steps:
- Fork this repo
- Clone your fork:
git clone https://github.com/<your-username>/yourvibes-.git cd yourvibes-
