← Home | All Proposals | Initial Design Proposal

XAND Beacon

Initial Design Proposal — By the Community, For the Community

Version 1.0 • February 24, 2026 • xandeum.me

PHASE 1 — FOUNDATION

1. Project Overview & Mission

Mission Statement

Build a LinkedIn-style social platform for the Xandeum Community. Phase 1 establishes the full foundation: a public landing page, shared authentication (with Asset Hub), user profiles, admin-managed news/CMS, and basic member posting/blog capabilities.

Created BY the community, FOR the community. Not affiliated with Xandeum directly.

Community-Driven

Members create profiles, write posts, share ideas, and engage in discussions. Community governance and transparency are core values.

Shared Identity

Uses the same hub_users table as the Asset Hub. One account, multiple applications. Seamless cross-platform experience.

Open & Extensible

Phase 1 is the foundation. Future phases will add messaging, groups, events, reputation systems, and deeper governance integration.

2. Architecture

System Diagram

  Browser
    |
    v
+-------------------------+        +----------------------------+
|   xandeum.me            |        |   hub.xandeum.me           |
|   (Community Site)      |        |   (Asset Hub)              |
|                         |        |                            |
|  PHP 8.3 + Vanilla JS   |        |  PHP 8.3 + Vanilla JS     |
|  Session: XANDEUM_COMM  |        |  Session: HUB_SESSION      |
|  Self-contained code    |        |  Uses hub-shared/          |
|                         |        |                            |
+----------+--------------+        +-------------+--------------+
           |                                     |
           |          Shared Database             |
           +------------+------------------------+
                        |
                        v
              +-------------------+
              |   MySQL: hub DB   |
              |                   |
              |  hub_users        |  (shared)
              |  hub_activity_log |  (shared)
              |  community_*      |  (community-only)
              |  hub_wallets      |  (hub-only)
              |  hub_daos         |  (hub-only)
              +-------------------+

Key Architecture Decisions

Self-Contained Code

Cannot access hub-shared/ due to open_basedir. Includes own copies of database, auth, session, and utility code that read the same hub_users table.

Separate Sessions

Session name XANDEUM_COMMUNITY vs Hub's HUB_SESSION. Different domains = different cookies. Users log in independently on each app.

Config-Only Deploys

Only config.php changes when deploying to another domain (chillxand.com, crossovr.io). All branding, DB creds, and URLs centralized there.

3. Database Schema

All new tables prefixed with community_ in the existing hub database.

community_profiles

Extends hub_users with community-specific profile data.

ColumnTypePurpose
idINT PK AUTOProfile ID
user_idINT FKReferences hub_users.id
display_nameVARCHAR(100)Public display name
slugVARCHAR(100) UNIQUEURL-friendly username
bioVARCHAR(280)Short bio (tweet-length)
about_meTEXTExtended about section
avatar_urlVARCHAR(500)Profile picture
banner_urlVARCHAR(500)Profile banner image
locationVARCHAR(100)User location
website_urlVARCHAR(500)Personal website
twitter_handleVARCHAR(50)X/Twitter handle
discord_handleVARCHAR(50)Discord username
telegram_handleVARCHAR(50)Telegram handle
github_handleVARCHAR(50)GitHub username
interestsVARCHAR(500)Comma-separated interests
is_publicTINYINT(1)Profile visibility
profile_completedTINYINT(1)Has completed profile setup

community_categories

ColumnTypePurpose
idINT PK AUTOCategory ID
nameVARCHAR(50)Category name
slugVARCHAR(50) UNIQUEURL slug
descriptionVARCHAR(255)Category description
colorVARCHAR(7)Badge color hex
sort_orderINTDisplay order

community_news

ColumnTypePurpose
idINT PK AUTOArticle ID
author_idINT FKReferences hub_users.id
titleVARCHAR(255)Article title
slugVARCHAR(255) UNIQUEURL slug
excerptVARCHAR(500)Short description
bodyLONGTEXTArticle content
featured_imageVARCHAR(500)Hero image URL
statusENUMdraft / published / archived
is_featuredTINYINT(1)Featured on homepage
published_atDATETIMEPublish date

community_posts

ColumnTypePurpose
idINT PK AUTOPost ID
author_idINT FKReferences hub_users.id
titleVARCHAR(255)Post title
slugVARCHAR(255) UNIQUEURL slug
bodyLONGTEXTPost content
excerptVARCHAR(500)Short preview
typeENUMblog / update / discussion
category_idINT FKReferences community_categories
statusENUMdraft / published / hidden
view_countINTView counter
like_countINTLike counter (denormalized)
comment_countINTComment counter (denormalized)
is_pinnedTINYINT(1)Pinned to top

community_comments

ColumnTypePurpose
idINT PK AUTOComment ID
user_idINT FKReferences hub_users.id
post_idINT FK NULLReferences community_posts
news_idINT FK NULLReferences community_news
parent_idINT FK NULLParent comment (threading)
bodyTEXTComment text
statusENUMvisible / hidden / deleted

community_post_likes

ColumnTypePurpose
idINT PK AUTOLike ID
user_idINT FKReferences hub_users.id
post_idINT FKReferences community_posts
UNIQUE(user_id, post_id) — One like per user per post

4. Page Wireframes

Landing Page (index.php)

+================================================================+ | [Logo] Xandeum Community Home News Community Members | | [Theme] [Login] | +================================================================+ | | | By the Community, For the Community | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | The home for Xandeum community members | | | | [Get Started] [Explore Community] | | | +----------------------------------------------------------------+ | | | +------------------+ +------------------+ +---------------+ | | | Community-Driven | | Governance Tools | | Open Forum | | | | Share ideas and | | Track proposals | | Blog, discuss | | | | build together | | and DAO activity | | and connect | | | +------------------+ +------------------+ +---------------+ | | | +----------------------------------------------------------------+ | Latest News | | +------------------+ +------------------+ +---------------+ | | | [img] | | [img] | | [img] | | | | News Title 1 | | News Title 2 | | News Title 3 | | | | Excerpt text... | | Excerpt text... | | Excerpt... | | | | Feb 24, 2026 | | Feb 23, 2026 | | Feb 22, 2026 | | | +------------------+ +------------------+ +---------------+ | | | +----------------------------------------------------------------+ | XAND Token & Governance | | Learn about XAND, stake, and participate in governance. | | [Visit Asset Hub ->] | +----------------------------------------------------------------+ | Community Links | | [Discord] [Twitter/X] [Telegram] | +----------------------------------------------------------------+ | Footer: Brand | Quick Links | Resources | About | +================================================================+

News Listing (news/index.php)

+================================================================+ | [Header / Nav] | +================================================================+ | Community News | | | | +----+---------------------------------------------+ | | |[img]| Article Title | | | | | Excerpt text goes here describing the... | | | | | By Admin | Feb 24, 2026 | 5 comments | | | +----+---------------------------------------------+ | | | | +----+---------------------------------------------+ | | |[img]| Another Article | | | | | More excerpt text for this article... | | | | | By Admin | Feb 23, 2026 | 2 comments | | | +----+---------------------------------------------+ | | | | [< Prev] Page 1 of 5 [Next >] | +================================================================+

Community Feed (community/index.php)

+================================================================+ | [Header / Nav] | +================================================================+ | Community [+ Create Post] | | | | Filter: [All Types v] [All Categories v] Sort: [Newest v] | | | | +----------------------------------------------------------+ | | | [avatar] Author Name [Discussion] [General] | | | | Post Title Here | | | | Excerpt of the post content showing the first... | | | | 12 likes | 5 comments | 234 views | 2 hours ago | | | +----------------------------------------------------------+ | | | | +----------------------------------------------------------+ | | | [avatar] Another Author [Blog] [Development] | | | | Another Post Title | | | | This is another post excerpt that shows... | | | | 8 likes | 3 comments | 156 views | 1 day ago | | | +----------------------------------------------------------+ | | | | [< Prev] Page 1 of 10 [Next >] | +================================================================+

User Profile (profile/view.php)

+================================================================+ | [Header / Nav] | +================================================================+ | +----------------------------------------------------------+ | | | [banner image] | | | | +--------+ | | | | |[avatar]| Display Name | | | | +--------+ @slug | Location | Joined Feb 2026 | | | | Short bio text goes here... | | | | [Twitter] [Discord] [Telegram] [GitHub] [Website] | | | +----------------------------------------------------------+ | | | | About Me | | +----------------------------------------------------------+ | | | Extended about section with more detail about the member | | | +----------------------------------------------------------+ | | | | Interests: [DeFi] [Governance] [Development] [Staking] | | | | Recent Posts | | +----------------------------------------------------------+ | | | Post Title 1 2 days ago | | | | Post Title 2 1 week ago | | | +----------------------------------------------------------+ | +================================================================+

Member Directory (members/index.php)

+================================================================+ | [Header / Nav] | +================================================================+ | Members [Search by name...] | | | | +-----------+ +-----------+ +-----------+ +-----------+ | | | [avatar] | | [avatar] | | [avatar] | | [avatar] | | | | Name 1 | | Name 2 | | Name 3 | | Name 4 | | | | Bio... | | Bio... | | Bio... | | Bio... | | | | Location | | Location | | Location | | Location | | | +-----------+ +-----------+ +-----------+ +-----------+ | | | | [< Prev] Page 1 of 3 [Next >] | +================================================================+

Admin Dashboard (admin/index.php)

+================================================================+ | [Header / Nav] | +================================================================+ | Admin Dashboard | | | | +----------+ +----------+ +----------+ +----------+ | | | Users | | Posts | | News | | Pending | | | | 42 | | 128 | | 15 | | 3 | | | +----------+ +----------+ +----------+ +----------+ | | | | Quick Actions | | [Manage Users] [Manage Posts] [Create News] [View Site] | | | | Recent Activity | | +----------------------------------------------------------+ | | | user_registered | john@example.com | 2 min ago | | | | post_created | "My First Post" | 15 min ago | | | | login_success | admin@xandeum.me | 1 hour ago | | | +----------------------------------------------------------+ | +================================================================+

5. Feature Breakdown

Authentication

User Profiles

News CMS (Admin)

Community Posts

Admin Panel

Member Directory

6. Design System

Color Palette

Brand Primary#f59e0b
Brand Dark#d97706
Accent#3b82f6
Dark#0f172a
Light#f8fafc
Success#22c55e
Danger#ef4444
Muted#64748b

Typography

Heading 1 (2rem / 800)

Heading 2 (1.5rem / 700)

Heading 3 (1.2rem / 600)

Body text (1rem / 400) — Inter font family

Small / muted text (0.85rem)

Buttons

Primary Secondary Accent Danger Outline

Badges

General Development Governance Tutorials Ideas Off-Topic

Published Draft Archived

Blog Update Discussion

Design Principles

7. Technology Decisions

CategoryChoiceRationale
LanguagePHP 8.3Matches Hub stack, server already configured, no build tools needed
DatabaseMySQL (hub DB)Shared user accounts, single source of truth
CSSVanilla CSS + Custom PropertiesNo build step, theme toggle via data attribute, lightweight
JavaScriptVanilla JS (IIFE)No frameworks, no dependencies, fast loading
AuthSession-based (PHP native)Simple, secure, proven pattern
Passwordsbcrypt (cost 12)Industry standard, same as Hub
CSRFToken-per-sessionSimple, effective for traditional forms + AJAX header check
Routing.htaccess + clean URLsApache mod_rewrite, no router library needed

8. Wave Structure

Implementation is organized into 8 waves, each building on the previous.

0

Design Proposal

This document. Publish for stakeholder review before writing code.

1

Database Migration

Create all community_* tables in the hub database. Seed categories.

2

Application Foundation

Config, database, auth, session, functions, bootstrap. Self-contained includes.

3

Design System & Templates

CSS design system, JS interactions, header/nav/footer templates, .htaccess.

4

Authentication Pages

Login, register, logout. Shared hub_users accounts.

5

Landing Page & News

Public homepage, news listing, single article view with comments.

6

User Profiles & Members

Profile CRUD, public profile view, member directory with search.

7

Community Posts

Post creation, community feed, likes, threaded comments, categories.

8

Admin Panel & API

Admin dashboard, user/post/news management, AJAX endpoints.

9. Duplicability Strategy

One Config to Rule Them All

The entire application can be duplicated to another domain by changing only config.php. This file contains:

  • Database credentials (each deployment can use its own DB or share one)
  • Site name, version, and branding (logo, colors)
  • Session name (prevents cross-domain session conflicts)
  • Hub URL (where to link for Asset Hub features)
  • Social links (Discord, Twitter, Telegram)

Deployment Matrix

DomainInstanceDatabaseSession Name
xandeum.meXandeum CommunityhubXANDEUM_COMMUNITY
chillxand.comChillXand CommunityhubCHILLXAND_COMMUNITY
crossovr.ioCrossovr CommunityhubCROSSOVR_COMMUNITY

Deployment Steps

  1. Copy all files to the new domain's httpdocs
  2. Edit config.php with new branding, session name, and URLs
  3. Run the migration SQL against the target database
  4. Set file ownership (root:psacln)
  5. Done — site is live