How kevinvdweert/subspace works
Subspace is a PHP/MySQL social platform. Users register or sign in, then browse a feed, publish posts, interact with posts, find people and content, and participate in themed spaces; profiles and administrative moderation support that activity. The sampled feed and space handlers directly query and update persistent data, while shared authentication and helper code provides session identity and reusable functions. Major features such as follows, comments, and reporting are documented but their implementation was not sampled, so their wiring is intentionally not inferred.
Main entry points: auth.php Authentication and Blocks · base.sql MySQL Data · index.php Home Feed · space.php Spaces
Components 18
Identity and Profiles
- Registration
register.php - Login
login.php - Logout
logout.php - User Profiles
profile.php
Administration and Policy
- Admin Dashboard
admin/index.php - Post Moderation
admin/posts.php - User Moderation
admin/users.php - Policies and Contact
components
Shared Runtime
- Authentication and Blocks
includes/auth.php - Shared Helpers
includes/helpers.php - Database Access
includes/db.php
Other components
- Visitor / User
- MySQL Data
database/base.sql
Connections 30
- Visitor / User → Registration: creates account
- Visitor / User → Login: signs in
- Visitor / User → Home Feed: browses and posts
- Visitor / User → User Profiles: views profile
- Visitor / User → Spaces: joins and creates
- Visitor / User → Search: searches
- Registration → Authentication and Blocks: uses identity
- Login → Authentication and Blocks: authenticates
- Logout → Authentication and Blocks: ends session
- User Profiles → Authentication and Blocks: checks identity
- Home Feed → Authentication and Blocks: checks access
- Spaces → Authentication and Blocks: checks access
- Home Feed → MySQL Data: reads and writes
- Post View → MySQL Data: loads post
- Spaces → MySQL Data: reads and writes
- Search → MySQL Data: searches records
- User Profiles → MySQL Data: loads profile
- Comments and Follows → MySQL Data: stores interactions
- Authentication and Blocks → Database Access: requests connection
- Database Access → MySQL Data: queries
- Home Feed → Shared Helpers: uses utilities
- Spaces → Shared Helpers: uses utilities
- Search → Shared Helpers: uses utilities
- Admin Dashboard → Authentication and Blocks: requires admin
- Post Moderation → Authentication and Blocks: requires admin
- User Moderation → Authentication and Blocks: requires admin
- Admin Dashboard → MySQL Data: reads statistics
- Post Moderation → MySQL Data: hides posts
- User Moderation → MySQL Data: blocks accounts
- Visitor / User → Policies and Contact: reads policies