Cover image for project: NEXUS Social Accounts IN PROGRESS

Technical summary

NEXUS Social Accounts centralizes the NEXUS social media accounts organized by project, with its own MySQL table and a full CRUD (list, create, update and delete) exposed through the API. The Social tab in the panel shows accounts grouped by project with brand avatars in official colors, search and status filters, and the frontend uses an Alpine.js mixin with optimistic updates on save or delete.

Executed scope

  • Plugin registration in plugin.php (13 lines): registerTab('social', tab.php) with the share-2 icon, registerDoc('social-accounts', doc.md), registerModal('social-account', modals/social-account.php), registerJs('social', assets/social.js) and style: design.css in plugin.json.
  • Database: MySQL table social_accounts (id INT PK, project_id VARCHAR(64) FK to projects.id, platform VARCHAR(100), url VARCHAR(255), username VARCHAR(255), email VARCHAR(255), login_type VARCHAR(50), status VARCHAR(50)) — no install.sql, DDL documented in the README.
  • Backend (backend.php, 81 lines): social_accounts_read_grouped() (indirect JOIN — fetches projects in alphabetical order and filters accounts by project_id), social_account_get() (fetch by id), social_account_save() (INSERT or UPDATE with the 7 fields) and social_account_delete() (delete by id).
  • 6 API actions: social_list/social_accounts_list (accounts grouped by project), social_save/social_accounts_save (create/update) and social_delete/social_accounts_delete (delete) — aliases for compatibility.
  • Social tab (tab.php, 249 lines): clickable stats grid (Total/Created/Pending/In Review that apply a status filter), premium toolbar with search and active-filter badge, collapsible project groups and a table with brand avatars in official colors.
  • Brand palette (socialPlatformMeta in social.js): map with 28 entries (Facebook #1877F2, Instagram gradient, Twitter/X #1DA1F2/#000, LinkedIn #0A66C2, YouTube #FF0000, TikTok, GitHub #24292e, Discord #5865F2, Telegram #26A5E4, WhatsApp #25D366, Pinterest #E60023, Reddit #FF4500, Twitch #9146FF, Spotify #1DB954, Medium, Behance #1769FF, Dribbble #EA4C89, ProductHunt #DA552F, DevTo, GitLab #FC6D26, Gravatar #1E8CBE, Meetup #ED1C40, Patreon #FF424D, Etsy #F56400, Arduino #00979D, E-mail, Google #DB4437, Apple #000) with an indigo fallback.
  • Frontend (assets/social.js, 190 lines): Alpine mixin socialModule(initialGroups) compatible with spread in the global x-data — state (socialGroups, socialForm, socialSearch, socialFilterStatus), 9 login types (E-mail, Google, Facebook, Instagram, Twitter/X, GitHub, LinkedIn, Apple, Other) and API calls with Bearer token.
  • Optimistic update: delete removes the account from the list immediately; save (create/edit) reloads the groups via social_list and shows a confirmation toast.
  • Modal (modals/social-account.php): "New/Edit Social Account" form with platform, url, username, email, login_type and status fields, using x-teleport + focus trap.
  • Fast Responses: fastr.json manifest with /social (no required arg), social_list action — lists the registered accounts.
  • On-demand only: cronjob.json with jobs: [] (no periodic routine needed); no CLI.
  • Documentation registered via registerDoc (doc.md): social accounts hub with database structure and functions.

Stack and tools

  • PHP 8 backend (no framework) + MySQL (social_accounts)
  • Alpine.js (socialModule mixin) + Tailwind CSS (tab, modal and empty state)
  • Internal Plugin API (PluginManager tabs/docs/modals/js/actions + fastr.json)
  • Bearer token authentication (API_KEY) on API calls

Operational tags

  • Social
  • Social media
  • Accounts
  • CRUD
  • Integrations
  • Automation
  • Management
  • NEXUS Plugin

Operational result

  • Centralized per project: accounts grouped by project with counts and quick access.
  • Full CRUD via API: list, create, update and delete — with aliases for compatibility.
  • Brand visuals: avatar with official color and distinctive letter for 23+ platforms.
  • Quick filters: clickable stats by status (Created, Pending, In Review) + search by platform/username/email/URL.
  • Reactive UX: optimistic update on delete and confirmation toasts.
  • No routines: purely on-demand plugin — no cron or CLI.

GitHub progress (issues)

Real-time panel with latest repository issues.

abertas (amostra): -- fechadas (amostra): -- base: -- ultimas issues

carregando andamento...

Real results

Centralized management and auditing dashboard for institutional social media profiles and accounts. Organizes credentials, monitors connection status, and unifies official corporate communication channels.

Architecture and organization

Execution and operations

The project follows reproducible execution flow with technical validation in production-like environments.

Screenshots

Talk about this project

Apply this implementation pattern in your environment and accelerate delivery with technical consistency.