# bethropolis/suplike-social-website architecture

> Architecture diagram of the GitHub repository bethropolis/suplike-social-website, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/bethropolis/suplike-social-website
- Repository: https://github.com/bethropolis/suplike-social-website

## Overview

Suplike is a PHP/MySQL social network. The principal user journey is sign-up or login, then viewing a feed and engaging through profiles, follows, likes, search, and messaging; the README also describes stories, notifications, developer APIs, and an admin dashboard. The graph preserves those product areas and the plugin system. Evidence is limited to the README and the supplied excerpts and source index; some feature-to-feature links are documented rather than verified from implementation.

Main entry points: [`dashboard/components/dashboard.php`](https://github.com/bethropolis/suplike-social-website/blob/master/dashboard/components/dashboard.php) (Admin dashboard), [`inc/Auth/auth.php`](https://github.com/bethropolis/suplike-social-website/blob/master/inc/Auth/auth.php) (Authentication), [`api/v1/r.php`](https://github.com/bethropolis/suplike-social-website/blob/master/api/v1/r.php) (API access), [`inc/dbh.inc.php`](https://github.com/bethropolis/suplike-social-website/blob/master/inc/dbh.inc.php) (Database connection)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_identity["Identity and setup"]
  node_auth["Authentication<br/>[auth.php]"]
  node_signup["Sign-up<br/>[signup.inc.php]"]
  node_dbconn["Database connection<br/>[dbh.inc.php]"]
  node_config["Environment config<br/>[env.php]"]
end

subgraph group_social["Social experience"]
  node_feed["Home feed<br/>[home.php]"]
  node_posts["Post creation<br/>[post.inc.php]"]
  node_profiles["Profiles<br/>[profile.php]"]
  node_follow["Follow system<br/>[follow.inc.php]"]
  node_likes["Like system<br/>[like.inc.php]"]
  node_search["User search<br/>[search.php]"]
  node_chat["Live messaging<br/>[message.php]"]
  node_stories["Stories<br/>[story.php]"]
  node_notifications["Notifications"]
end

subgraph group_platform["API and extensions"]
  node_api["API access<br/>[r.php]"]
  node_bot["Bot management<br/>[bot.php]"]
  node_developer["Developer tools<br/>[index.php]"]
  node_plugin_system["Plugin runtime<br/>[System.php]"]
  node_plugin_manager["Plugin management<br/>[Manager.php]"]
end

subgraph group_operations["Administration"]
  node_dashboard["Admin dashboard<br/>[dashboard.php]"]
  node_dash_nav["Dashboard navigation<br/>[nav.php]"]
  node_dash_social["Social administration<br/>[social.php]"]
  node_dash_settings["Admin settings<br/>[settings.php]"]
  node_dash_users["User administration<br/>[users.php]"]
  node_dash_integrations["Integrations<br/>[integrations.php]"]
end

node_user(("Member"))
node_database[("MySQL database")]

node_user -->|"signs up"| node_signup
node_user -->|"logs in"| node_auth
node_signup -.->|"creates account"| node_auth
node_auth -->|"enters after login"| node_feed
node_feed -->|"shows posts"| node_posts
node_user -->|"publishes post"| node_posts
node_user -->|"views profiles"| node_profiles
node_user -->|"follows users"| node_follow
node_user -->|"likes posts"| node_likes
node_user -->|"searches users"| node_search
node_user -->|"messages"| node_chat
node_user -->|"views stories"| node_stories
node_user -->|"views notifications"| node_notifications
node_dbconn -->|"reads settings"| node_config
node_dbconn -->|"connects to"| node_database
node_api -->|"loads connection"| node_dbconn
node_api -->|"loads authentication"| node_auth
node_api -->|"loads notifications"| node_notifications
node_developer -->|"uses bot API"| node_bot
node_dashboard -->|"includes navigation"| node_dash_nav
node_dashboard -->|"includes social admin"| node_dash_social
node_dashboard -->|"includes settings"| node_dash_settings
node_dashboard -->|"includes user admin"| node_dash_users
node_dashboard -->|"includes integrations"| node_dash_integrations
node_plugin_manager -->|"uses runtime"| node_plugin_system

click node_auth "https://github.com/bethropolis/suplike-social-website/blob/master/inc/Auth/auth.php"
click node_signup "https://github.com/bethropolis/suplike-social-website/blob/master/inc/signup.inc.php"
click node_dbconn "https://github.com/bethropolis/suplike-social-website/blob/master/inc/dbh.inc.php"
click node_config "https://github.com/bethropolis/suplike-social-website/blob/master/inc/setup/env.php"
click node_feed "https://github.com/bethropolis/suplike-social-website/blob/master/home.php"
click node_posts "https://github.com/bethropolis/suplike-social-website/blob/master/inc/post.inc.php"
click node_profiles "https://github.com/bethropolis/suplike-social-website/blob/master/profile.php"
click node_follow "https://github.com/bethropolis/suplike-social-website/blob/master/inc/follow.inc.php"
click node_likes "https://github.com/bethropolis/suplike-social-website/blob/master/inc/like.inc.php"
click node_search "https://github.com/bethropolis/suplike-social-website/blob/master/search.php"
click node_chat "https://github.com/bethropolis/suplike-social-website/blob/master/message.php"
click node_stories "https://github.com/bethropolis/suplike-social-website/blob/master/story.php"
click node_notifications "https://github.com/bethropolis/suplike-social-website/blob/master/inc/extra/notification.class.php"
click node_api "https://github.com/bethropolis/suplike-social-website/blob/master/api/v1/r.php"
click node_bot "https://github.com/bethropolis/suplike-social-website/blob/master/api/v1/bot/bot.php"
click node_developer "https://github.com/bethropolis/suplike-social-website/blob/master/api/developer/index.php"
click node_plugin_system "https://github.com/bethropolis/suplike-social-website/blob/master/plugins/PluginSystem/System.php"
click node_plugin_manager "https://github.com/bethropolis/suplike-social-website/blob/master/plugins/PluginSystem/Manager.php"
click node_dashboard "https://github.com/bethropolis/suplike-social-website/blob/master/dashboard/components/dashboard.php"
click node_dash_nav "https://github.com/bethropolis/suplike-social-website/blob/master/dashboard/components/nav.php"
click node_dash_social "https://github.com/bethropolis/suplike-social-website/blob/master/dashboard/components/social.php"
click node_dash_settings "https://github.com/bethropolis/suplike-social-website/blob/master/dashboard/components/settings.php"
click node_dash_users "https://github.com/bethropolis/suplike-social-website/blob/master/dashboard/components/users.php"
click node_dash_integrations "https://github.com/bethropolis/suplike-social-website/blob/master/dashboard/components/integrations.php"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_auth,node_signup,node_dbconn,node_config toneBlue
class node_feed,node_posts,node_profiles,node_follow,node_likes,node_search,node_chat,node_stories,node_notifications,node_database toneAmber
class node_api,node_bot,node_developer,node_plugin_system,node_plugin_manager toneMint
class node_dashboard,node_dash_nav,node_dash_social,node_dash_settings,node_dash_users,node_dash_integrations toneRose
class node_user toneIndigo
```

## Components

### Identity and setup

- [Authentication](https://github.com/bethropolis/suplike-social-website/blob/master/inc/Auth/auth.php): `inc/Auth/auth.php`
- [Sign-up](https://github.com/bethropolis/suplike-social-website/blob/master/inc/signup.inc.php): `inc/signup.inc.php`
- [Database connection](https://github.com/bethropolis/suplike-social-website/blob/master/inc/dbh.inc.php): `inc/dbh.inc.php`
- [Environment config](https://github.com/bethropolis/suplike-social-website/blob/master/inc/setup/env.php): `inc/setup/env.php`

### Social experience

- [Home feed](https://github.com/bethropolis/suplike-social-website/blob/master/home.php): `home.php`
- [Post creation](https://github.com/bethropolis/suplike-social-website/blob/master/inc/post.inc.php): `inc/post.inc.php`
- [Profiles](https://github.com/bethropolis/suplike-social-website/blob/master/profile.php): `profile.php`
- [Follow system](https://github.com/bethropolis/suplike-social-website/blob/master/inc/follow.inc.php): `inc/follow.inc.php`
- [Like system](https://github.com/bethropolis/suplike-social-website/blob/master/inc/like.inc.php): `inc/like.inc.php`
- [User search](https://github.com/bethropolis/suplike-social-website/blob/master/search.php): `search.php`
- [Live messaging](https://github.com/bethropolis/suplike-social-website/blob/master/message.php): `message.php`
- [Stories](https://github.com/bethropolis/suplike-social-website/blob/master/story.php): `story.php`
- [Notifications](https://github.com/bethropolis/suplike-social-website/blob/master/inc/extra/notification.class.php): `inc/extra/notification.class.php`

### API and extensions

- [API access](https://github.com/bethropolis/suplike-social-website/blob/master/api/v1/r.php): `api/v1/r.php`
- [Bot management](https://github.com/bethropolis/suplike-social-website/blob/master/api/v1/bot/bot.php): `api/v1/bot/bot.php`
- [Developer tools](https://github.com/bethropolis/suplike-social-website/blob/master/api/developer/index.php): `api/developer/index.php`
- [Plugin runtime](https://github.com/bethropolis/suplike-social-website/blob/master/plugins/PluginSystem/System.php): `plugins/PluginSystem/System.php`
- [Plugin management](https://github.com/bethropolis/suplike-social-website/blob/master/plugins/PluginSystem/Manager.php): `plugins/PluginSystem/Manager.php`

### Administration

- [Admin dashboard](https://github.com/bethropolis/suplike-social-website/blob/master/dashboard/components/dashboard.php): `dashboard/components/dashboard.php`
- [Dashboard navigation](https://github.com/bethropolis/suplike-social-website/blob/master/dashboard/components/nav.php): `dashboard/components/nav.php`
- [Social administration](https://github.com/bethropolis/suplike-social-website/blob/master/dashboard/components/social.php): `dashboard/components/social.php`
- [Admin settings](https://github.com/bethropolis/suplike-social-website/blob/master/dashboard/components/settings.php): `dashboard/components/settings.php`
- [User administration](https://github.com/bethropolis/suplike-social-website/blob/master/dashboard/components/users.php): `dashboard/components/users.php`
- [Integrations](https://github.com/bethropolis/suplike-social-website/blob/master/dashboard/components/integrations.php): `dashboard/components/integrations.php`

### Other components

- **Member**
- **MySQL database**

## Connections

- Member → Sign-up: signs up
- Member → Authentication: logs in
- Sign-up → Authentication: creates account
- Authentication → Home feed: enters after login
- Home feed → Post creation: shows posts
- Member → Post creation: publishes post
- Member → Profiles: views profiles
- Member → Follow system: follows users
- Member → Like system: likes posts
- Member → User search: searches users
- Member → Live messaging: messages
- Member → Stories: views stories
- Member → Notifications: views notifications
- Database connection → Environment config: reads settings (evidence: `inc/dbh.inc.php`)
- Database connection → MySQL database: connects to (evidence: `inc/dbh.inc.php`)
- API access → Database connection: loads connection (evidence: `api/v1/r.php`)
- API access → Authentication: loads authentication (evidence: `api/v1/r.php`)
- API access → Notifications: loads notifications (evidence: `api/v1/r.php`)
- Developer tools → Bot management: uses bot API (evidence: `api/developer/index.php`)
- Admin dashboard → Dashboard navigation: includes navigation (evidence: `dashboard/index.php`)
- Admin dashboard → Social administration: includes social admin (evidence: `dashboard/index.php`)
- Admin dashboard → Admin settings: includes settings (evidence: `dashboard/index.php`)
- Admin dashboard → User administration: includes user admin (evidence: `dashboard/index.php`)
- Admin dashboard → Integrations: includes integrations (evidence: `dashboard/index.php`)
- Plugin management → Plugin runtime: uses runtime (evidence: `plugins/PluginSystem/Manager.php`)
