- π Core Value Proposition
- π° Social Feed and Content
- π¬ Direct Messaging
- π Events and Calendar
- πΌ Careers and Job Board
- π Internal Marketplace
- π€ User Profiles and Networking
- βοΈ Organization Administration
- π Organization Onboarding
- π Authentication and Security
- π‘οΈ Privacy and GDPR Compliance
- π Notification System
- π Bookmarks and Saved Items
- π Bug Reporting and Support
- π§ Maintenance Windows
- π§ Email Communication System
- β±οΈ Background Services
- ποΈ Technical Architecture
- π’ Deployment and Infrastructure
- π License
SpectraSocial replaces fragmented internal tools (email chains, bulletin boards, spreadsheets, separate chat apps) with one unified platform:
| Feature | Description |
|---|---|
| π£οΈ Unified Communication | Real-time feed, channels, stories, and direct messaging in one place |
| π― Talent Mobility | Internal job board with full application tracking, recommendations, and resume management |
| π Resource Sharing | Internal marketplace with fixed-price and auction-based listings, approval workflow, and bidding |
| π Secure Isolation | Strict multi-tenant architecture ensures complete data isolation between organizations |
| β Compliance Ready | Built-in audit trail, GDPR data subject rights, SOC 2 and ISO 27001 technical controls |
The feed is organized into channels, which can be public (visible to all members) or private (restricted to specific users or groups).
Post types:
- π Standard Posts - Rich text content with image and video attachments.
- π Polls - Embedded polls with multiple answer choices for team decision-making.
- β Q&A Posts - Question-and-answer threads for knowledge sharing.
Post interactions:
- π 10 reaction types: like, love, celebrate, insightful, support, funny, wow, curious, congrats, thanks.
- π¬ Threaded comments on every post.
- π Pin important posts to the top of a channel.
- π Save/bookmark posts for personal reference.
- π Share posts to other channels or via direct message.
- β Mark posts as important for visibility.
- #οΈβ£ Hashtag extraction and tracking.
Channel management:
- β Create public or private channels.
- π₯ Channel membership based on individual users or user groups.
- π¦ Archive channels when they are no longer active.
- π Channel-level access control enforced on every request.
Ephemeral 24-hour content inspired by social media stories, adapted for the workplace:
- πΌοΈ Media stories - Upload images or short videos with text overlay.
- βοΈ Text stories - Styled text with customizable background colors.
- π Poll stories - Quick polls embedded directly in stories.
- β Q&A stories - Open-ended questions for anonymous or named responses.
Stories support emoji reactions, view tracking (who watched each story), and direct message replies.
The platform automatically analyzes feed content and extracts trending hashtags and topics. An AI-powered post idea generator can suggest post topics based on selected categories, helping users contribute to organizational discussions.
flowchart LR
USER["π€ User"] --> CHANNELS["ποΈ Channels"];
CHANNELS --> POSTS["π Posts"];
CHANNELS --> STORIES["π Stories"];
CHANNELS --> TRENDING["π Trending Topics"];
POSTS --> STANDARD["π Standard Post"];
POSTS --> POLL["π Poll"];
POSTS --> QA["β Q&A"];
POSTS --> REACT["π Reactions"];
POSTS --> COMMENTS["π¬ Threaded Comments"];
POSTS --> SHARE["π Sharing"];
POSTS --> PIN["π Pin"];
POSTS --> SAVE["π Bookmark"];
POSTS --> TAGS["#οΈβ£ Hashtags"];
STORIES --> MEDIA["πΌοΈ Media Story"];
STORIES --> TEXT["βοΈ Text Story"];
STORIES --> STORYPOLL["π Poll Story"];
STORIES --> STORYQA["β Q&A Story"];
STORIES --> VIEWS["ποΈ View Tracking"];
STORIES --> STORYREACT["π Emoji Reactions"];
STORIES --> STORYDM["π¬ DM Replies"];
One-to-one real-time conversations with the following capabilities:
- β‘ Server-Sent Events (SSE) streaming for instant message delivery.
- β¨οΈ Typing indicators - See when the other person is composing a message.
- β Read receipts - Track which messages have been read.
- βοΈ Message editing and deletion - Modify or remove sent messages.
- π Emoji reactions on individual messages.
- β©οΈ Message replies - Reply to a specific message within the conversation.
- π File attachments - Send documents and media.
- π Shared content - Share posts, marketplace items, events, and jobs directly in a conversation.
- π Sync on reconnection - Automatically catches up on missed messages after a disconnect.
Create and manage organizational events with full lifecycle support:
- π Event details - Title, description, location, date/time range, cover image.
- β RSVP tracking - Members can mark going, maybe, or not going.
- β° Event reminders - Users set personal reminders for upcoming events.
- π Event polls - Embed polls within events (e.g., vote on a lunch venue).
- βοΈ Invitations - Invite individual users or entire groups with email notification.
- π Event sharing - Share events via posts or direct messages.
- π Filtering and sorting - Filter by upcoming/past, sort by date or popularity.
A full internal recruitment module for talent mobility:
- π Job posting - Create openings with title, description, requirements, salary range, location, and job type.
- π Easy Apply - Employees submit applications with optional resume/attachment uploads.
- π Application tracking - Track application status through stages (applied, reviewed, accepted, rejected).
- π€ Job recommendations - Recommend a colleague for an open position with a personalized message.
- π Saved jobs - Bookmark jobs for later review.
- π Job sharing - Share openings via posts or direct messages.
- π¨βπΌ Admin review - Hiring managers review applicants, view resumes, and update statuses.
An internal trading platform for buying, selling, and auctioning items within the organization:
- π·οΈ Listing types:
- π° Fixed price - Set a price and sell directly.
- π¨ Auction - Set a starting bid and let members bid. Auctions are automatically processed on expiry.
- πΈ Item management - Upload up to 5 images, set condition, category, and description.
- β Approval workflow - All listings require admin approval before they become visible.
- π΅ Bidding system - Place and track bids on auction items.
- π Marketplace sharing - Share listings via posts or messages.
- π Saved items - Bookmark marketplace items for later.
flowchart TB
HUB["π§© Organizational Activity Hub"];
subgraph EVENTS["π
Events & Calendar"]
EVENTCRUD["π Event Details"];
RSVP["β RSVP Tracking"];
REM["β° Reminders"];
EPOLL["π Event Polls"];
EINV["βοΈ Invitations"];
ESHARE["π Event Sharing"];
end
subgraph JOBS["πΌ Careers & Job Board"]
JOBPOST["π Job Posting"];
APPLY["π Easy Apply"];
TRACK["π Application Tracking"];
RECOMMEND["π€ Recommendations"];
SAVEJOB["π Saved Jobs"];
REVIEW["π¨βπΌ Admin Review"];
end
subgraph MARKET["π Internal Marketplace"]
FIXED["π° Fixed Price"];
AUCTION["π¨ Auction"];
IMAGES["πΈ Item Management"];
APPROVAL["β
Approval Workflow"];
BIDS["π΅ Bidding"];
MSHARE["π Marketplace Sharing"];
SAVEITEM["π Saved Items"];
end
HUB --> EVENTS;
HUB --> JOBS;
HUB --> MARKET;
Each user has a detailed professional profile:
- π Basic info - Name, title, bio, avatar, and cover photo.
- π οΈ Skills - List technical and professional skills. Other users can endorse skills.
- π Certifications - Certifications with issuing organization and dates.
- π Achievements - Professional accomplishments and milestones.
- π― Specializations - Areas of deep expertise.
- π Teaching and learning - Declare skills you can teach and skills you want to learn.
- π¬ Profile feedback - Colleagues can leave profile feedback or endorsement notes.
- ποΈ Visibility controls - Control which sections are public vs. private (bio, skills, certifications, achievements, etc.).
- π Earned badges - Display badges awarded by the platform.
- π Recent activity - Show recent engagement (posts, events, reactions).
- β Follow system - Follow other users to see their content in your feed.
- π Follow requests - Optionally require approval before someone can follow you.
- π₯ Follower management - Remove followers, accept or reject requests.
- π« Blocking - Block users to prevent all interaction.
- π Connection lists - View followers, following, and mutual connections.
Automated recognition system that rewards user engagement:
- π Metric-based rules - Badges are awarded when users hit defined thresholds for:
- π Posts created
- π¬ Comments made
- π Reactions received
- π Skills endorsed
- π€ Connections gained
- π¬ Feedback received
- β° Time-windowed rules - Optionally limit metrics to a rolling time window (e.g., 10 posts in the last 30 days).
- π¨ Badge management - Admins create badges with custom names, icons, and descriptions.
- π Automatic recalculation - Badges can be recalculated on demand.
flowchart LR
PROFILE["π€ User Profile"] --> BASIC["π Basic Info"];
PROFILE --> SKILLS["π οΈ Skills"];
PROFILE --> CERTS["π Certifications"];
PROFILE --> ACH["π Achievements"];
PROFILE --> SPEC["π― Specializations"];
PROFILE --> TEACH["π Teach / Learn"];
PROFILE --> FEEDBACK["π¬ Profile Feedback"];
PROFILE --> VIS["ποΈ Visibility Controls"];
PROFILE --> BADGES["π
Earned Badges"];
PROFILE --> ACTIVITY["π Recent Activity"];
PROFILE --> CONNECTIONS["π€ Social Connections"];
CONNECTIONS --> FOLLOW["β Follow"];
CONNECTIONS --> REQUESTS["π Follow Requests"];
CONNECTIONS --> MANAGE["π₯ Follower Management"];
CONNECTIONS --> BLOCK["π« Blocking"];
CONNECTIONS --> LISTS["π Connection Lists"];
BADGES --> RULES["π Metric-Based Rules"];
BADGES --> WINDOW["β° Time-Window Rules"];
BADGES --> BADMIN["π¨ Badge Management"];
BADGES --> RECALC["π Recalculation"];
The admin panel gives organization administrators full control over their tenant:
- βοΈ Invite new users by email (invitation link with password setup).
- βοΈ Edit user details, roles (Admin, Moderator, User), and status.
- β Approve or deny access requests from users who request to join the organization.
- π« Deactivate user accounts.
- π‘ Real-time monitoring via SSE stream for admin events.
- β Create named user groups (e.g., Engineering, Marketing).
- π Add or remove members.
- π― Groups are used for channel access, event invitations, and content targeting.
- β Approve or reject marketplace listings before they go live.
- π Review job postings.
- ποΈ Monitor feed activity across channels.
- π§ Email notification settings - Toggle notifications for comments, reactions, admin actions, weekly digest, and event invitations.
- βοΈ General settings - Enable or disable platform features per organization (general feed, events, community, profiles, badges).
- π Audit logs - Full audit trail of all admin actions within the organization.
The process for a new organization to get started:
- π Registration - Submit organization details (name, owner email).
- β Activation - Organization owner receives an activation email with a secure token link.
- π§ Account setup - Owner sets their password and configures initial settings.
- βοΈ Invitation - Owner invites team members, who receive invitation emails with password setup links.
- π License info - Each organization has a license type (free, starter, business, enterprise) with associated user limits and feature sets.
- π Trial support - Organizations can start with a trial period that includes full feature access.
- π§ Email-based MFA - After successful login, a 6-digit code is sent to the user's email.
- β° Code expiry - Codes expire after 10 minutes.
- π Resend support - Users can request a new code without restarting the login flow.
- π Forgot password - Token-based password reset via email.
- βοΈ Password change - Authenticated users can change their password from their profile.
- πͺ Password policy - Enforced strength requirements (length, complexity).
- π‘οΈ Secure tokens - Cryptographically random reset tokens with expiry.
- π€ Role-based access - Admin, Moderator, and User roles with different permission levels.
- π’ Organization isolation - Every API request is scoped to the authenticated user's organization.
- π License enforcement - Access is blocked if the organization's license is expired.
- π« Account deactivation - Suspended accounts cannot access any platform features.
- π‘οΈ Rate limiting - Protection against brute-force login attempts.
Full GDPR compliance built into the platform:
- β
Consent management - Track consent across four purposes:
- π Essential (always required)
- π Analytics
- π’ Marketing
- π§ Communications
- β Consent withdrawal - Users can withdraw consent per purpose at any time.
- π¦ Data export - Users can request a complete export of their personal data (delivered as a ZIP archive).
- ποΈ Account deletion - Right to be forgotten: users can request complete account and data deletion.
- π Data Subject Requests (DSR) - Track and manage export and deletion requests with status monitoring.
- πͺ Cookie consent banner - GDPR-compliant cookie notice on first visit.
- π₯οΈ Privacy dashboard - Dedicated page where users manage their consent, request exports, or initiate deletion.
- π Audit trail - All consent changes are recorded in the audit log.
Real-time notification system delivered via Server-Sent Events:
Notification types:
- π Post reactions and comments
- π Event invitations
- πΌ Job recommendations and application updates
- π€ Follow requests (new request, accepted)
- π¬ New direct messages
- π° Marketplace bids on your listings
- β Access request decisions (approved/denied)
- βοΈ Admin actions
Features:
- β‘ Real-time push via SSE (no polling).
- β Mark individual notifications as read.
- π Mark all as read / mark all as unread.
- ποΈ Delete all notifications.
- π Auto-sync on reconnection.
- π€ Actor information shown (who triggered the notification).
Users can save content across the platform for later:
- π° Saved posts - Bookmark feed posts.
- πΌ Saved jobs - Bookmark job openings.
- π Saved marketplace items - Bookmark marketplace listings.
- π Organized by category - Bookmarks are grouped by type on a dedicated page.
- π§Ή Clear by category - Bulk-clear bookmarks per category.
Built-in bug reporting system accessible from within the application:
- π Submit reports with title, description, and issue category (UI, data, performance, API, security, other).
- π Attach up to 5 files (screenshots, logs), 20 MB each.
- π’ Each report generates a unique tracking ID.
- π§ Reports are delivered via email to platform administrators.
- π¬ Optional Slack integration sends report summaries to a designated channel.
Scheduled maintenance windows with user-facing communication:
- π Define maintenance windows with start/end times, title, and description.
- π§ Active maintenance windows are shown to all users via a banner.
- π Public endpoint allows checking maintenance status without authentication.
- β Completed maintenance windows show a post-maintenance message.
A centralized transactional email system with configurable themes:
Supported email templates:
- β Account activation
- π Password reset
- π’ MFA verification code
- βοΈ User invitation
- π’ Organization invitation
- π€ Follow request notifications
- π Access request decisions (approved/denied)
- π Welcome messages
β οΈ Organization inactivity warnings and deletion notices- π System alerts (background jobs, backups, security scans)
Template features:
- π¨ Two base themes: light and dark, with per-template configuration.
- π² Random / A-B mode - Randomly alternate between themes for experimentation.
- ποΈ Full preview and side-by-side comparison in the admin UI.
- π€ SendGrid integration with inline image attachments (logo, social icons).
Automated background tasks run on configurable schedules:
| Service | Schedule | Description |
|---|---|---|
| πΎ Database Backup | Every 8 hours | Automated MySQL backups with retention and cleanup |
| π NPM Security Audit | Daily at 08:00 UTC | Scans frontend and backend dependencies for known vulnerabilities |
| π License Check | Every hour | Validates organization license status and enforces restrictions |
| π§Ή Data Retention | Daily at 04:00 UTC | Cleans up expired data (old notifications, expired stories, stale tokens) |
| π Organization Inactivity | Every hour | Detects inactive organizations and sends warning emails at 30/60/75/90-day thresholds |
| π‘οΈ Security Advisory Sync | Hourly | Syncs npm security advisories from GitHub, evaluates impact against project lockfiles |
All jobs are configurable via environment variables and can be enabled or disabled per environment.
| Layer | Technology |
|---|---|
| π₯οΈ Backend | Node.js + Express + TypeScript |
| π¨ Frontend | React 19 + TypeScript + Tailwind CSS 4 |
| ποΈ Database | MySQL 8.0 (InnoDB, JSON column support) |
| β‘ Build Tool | Vite 6 |
| π Authentication | JWT (JSON Web Tokens) + bcrypt |
| π§ Email | SendGrid API + Handlebars templating |
| π File Uploads | Multer (local filesystem, S3-compatible) |
| β° Scheduling | node-cron |
| π‘οΈ Security Headers | Helmet (CSP, HSTS, X-Frame-Options, Referrer-Policy) |
| π― Icons | Lucide React + React Icons |
SpectraSocial uses a single-database, shared-schema multi-tenancy model:
- π Every table that holds tenant data includes an
organization_idforeign key. - π All API queries are scoped to the authenticated user's organization.
- π‘οΈ Middleware enforces tenant boundaries before any business logic executes.
- π« There is no cross-tenant data leakage by design.
- βοΈ Organization-level settings (email, feature toggles) are stored per-tenant.
The platform uses Server-Sent Events (SSE) for real-time features:
- π Notification stream - Instant delivery of all notification types.
- π¬ Message stream - Real-time direct message delivery with typing indicators.
- βοΈ Admin stream - Real-time admin panel updates (new access requests, settings changes).
- π Keepalive pings - Periodic heartbeats to maintain connections through proxies.
- π Auto-reconnection - Clients automatically reconnect and sync missed events.
π Security Request Pipeline
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π€ User Request
β
βΌ
βββββββββββββββββββββββββββββββ
β π‘οΈ Helmet Security Headers β ββ CSP, HSTS, X-Frame-Options
βββββββββββββββ¬ββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββ
β π CORS Validation β ββ Origin whitelist
βββββββββββββββ¬ββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββ
β π JWT Authentication β ββ Token verification & expiry
βββββββββββββββ¬ββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββ
β π€ Role-Based Authorization β ββ Admin / Moderator / User
βββββββββββββββ¬ββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββ
β π’ Organization Isolation β ββ Tenant boundary enforcement
βββββββββββββββ¬ββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββ
β βοΈ Business Logic β βββΊ π Audit Service
βββββββββββββββ¬ββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββ
β π€ Response β
βββββββββββββββββββββββββββββββ
Key security controls:
- π All passwords hashed with bcrypt.
- π« JWT tokens with configurable expiry.
- π MFA on login for all users.
- π‘οΈ Rate limiting on authentication endpoints.
- π Request correlation IDs for audit tracing.
- π Sensitive data access logging (GDPR Art. 30).
- π Automated security vulnerability scanning (npm audit + GitHub Security Advisories).
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π SpectraSocial β System Overview β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β β
β π€ Users (Browser / Mobile) β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β π¨ Frontend (React 19 + Vite 6) β β
β β ββββββββββββ¬βββββββββββ¬βββββββββββββββββββ β β
β β β Feed UI β Chat UI β Admin Dashboard β β β
β β ββββββββββββ΄βββββββββββ΄βββββββββββββββββββ β β
β β Tailwind CSS 4 β’ TypeScript β β
β ββββββββββββββββββββ¬ββββββββββββββββββββββββββββ β
β β HTTPS / REST API β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β π₯οΈ Backend (Node.js + Express) β β
β β ββββββββββββββββββββββββββββββββββββββββ β β
β β β π Auth β π° Feed β π¬ Chat β β β
β β β π
Events β πΌ Jobs β π Market β β β
β β β π€ Profile β π Notify β βοΈ Admin β β β
β β ββββββββββββββββββββββββββββββββββββββββ β β
β β Middleware: JWT β’ CORS β’ Helmet β’ RBAC β β
β βββββββββ¬βββββββββββββββ¬ββββββββββββββββββββββββ β
β β β β
β βΌ βΌ β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β ποΈ MySQL 8.0 β β π§ SendGrid β β π File Storeβ β
β β (InnoDB) β β (Email API) β β (Local / S3) β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π’ Multi-Tenancy β Shared Schema, Isolated Data β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β
β β π’ Org Alpha β β π’ Org Beta β β π’ Org Gamma β β
β β org_id = 1 β β org_id = 2 β β org_id = 3 β β
β β β β β β β β
β β π€ Users (12) β β π€ Users (85) β β π€ Users (200) β β
β β π° Posts (340) β β π° Posts (1.2K) β β π° Posts (5K) β β
β β π¬ Messages β β π¬ Messages β β π¬ Messages β β
β β π
Events β β π
Events β β π
Events β β
β β βοΈ Settings β β βοΈ Settings β β βοΈ Settings β β
β ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ β
β β β β β
β βΌ βΌ βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β ποΈ Shared MySQL Database β β
β β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β users β β posts β β messages β β events β β β
β β β org_id β β β org_id β β β org_id β β β org_id β β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β β
β β π Every query includes WHERE organization_id = ? β β
β β π‘οΈ Middleware enforces tenant scope before business logic β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β‘ Real-Time Architecture β Server-Sent Events β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β β
β π€ User A (Browser) π€ User B (Browser) β
β β β β
β β 1. Open SSE Connection β 1. Open SSE Connection β
β βΌ βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β π₯οΈ Express Server β β
β β β β
β β ββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β π‘ SSE Connection Manager β β β
β β β β β β
β β β Active Connections: β β β
β β β β’ /notifications/:userId β π Alerts β β β
β β β β’ /messages/:convId β π¬ Chat β β β
β β β β’ /admin/:orgId β βοΈ Admin β β β
β β ββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β β
β β βΌ β β
β β ββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β π¨ Event Dispatcher β β β
β β β β β β
β β β 2. User A sends message to User B β β β
β β β 3. Save to DB β β β
β β β 4. Push SSE event β User B's connection β β β
β β β 5. Push notification β User B β β β
β β ββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β β π Keepalive ping every 30s β β
β β π Auto-reconnect on disconnect + sync missed β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ποΈ Core Database Entity Relationships β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β β
β ββββββββββββββββββββ β
β β π’ Organization β β
β β ββββββββββββββββ β β
β β id, name, slug β β
β β license_type β β
β β settings (JSON) β β
β ββββββββββ¬ββββββββββ β
β ββββββββββββββββββββββΌβββββββββββββββββββββ β
β β β β β
β βΌ βΌ βΌ β
β ββββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββ β
β β π€ Users β β π° Channels β β π₯ Groups β β
β β ββββββββββββββ β β ββββββββββββββ β β ββββββββββββ β β
β β id, name, role β β id, name, typeβ β id, name β β
β β email, avatar β β visibility β β members[ ] β β
β ββββ¬βββββββββββ¬βββ ββββββββ¬ββββββββββ ββββββββββββββββ β
β β β β β
β β β βΌ β
β β β ββββββββββββββββββ ββββββββββββββββββ β
β β β β π Posts ββββΊ β π¬ Comments β β
β β β β ββββββββββββββ β β ββββββββββββ β β
β β β β id, content β β id, text β β
β β β β type, media β β post_id β β
β β β β channel_id β ββββββββββββββββββ β
β β β βββββββββ¬βββββββββ β
β β β β β
β β β βΌ β
β β β ββββββββββββββββββ β
β β β β π Reactions β β
β β β β ββββββββββββββ β β
β β β β type, user_id β β
β β β ββββββββββββββββββ β
β β β β
β βΌ βΌ β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
β βπ¬ DMs β βπ
Events β βπΌ Jobs β βπ Market β βπ Notifs β β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
β βsender_id β βtitle β βtitle β βtitle β βtype β β
β βreceiver β βdate, loc β βsalary β βprice β βactor_id β β
β βcontent β βrsvps[ ] β βapps[ ] β βbids[ ] β βread β β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Core entity relationships:
π’ Organization
βββ π€ Users (role-based: Admin, Moderator, User)
βββ π° Feed Channels (public / private)
β βββ π Posts (with reactions, comments, pins)
βββ π
Events (with RSVPs, polls, invitations)
βββ πΌ Jobs (with applications, recommendations)
βββ π Marketplace Items (fixed-price / auction, with bids)
βββ π₯ User Groups (for channel access, event invitations)
βββ π
Badges (metric-based, auto-awarded)
βββ βοΈ Organization Settings (email, general)
βββ π Audit Logs (immutable action trail)
π€ User
βββ πͺͺ Profile (skills, certifications, achievements)
βββ π Stories (24h ephemeral content)
βββ π¬ Messages (1-to-1 conversations)
βββ π Notifications (real-time delivery)
βββ π Bookmarks (posts, jobs, marketplace)
βββ π‘οΈ GDPR Consent (per-purpose tracking)
βββ π€ Connections (followers / following / blocked)
- π’ Node.js v18+
- ποΈ MySQL 8.0+
Distributed under the Proprietary License. See LICENSE for more information.
**Built with β€οΈ by the SpectraEYE Team**