A comprehensive link-in-bio platform designed for all content creators, with special focus on podcasters.
- Database Schema - Complete MySQL schema with all required tables
- Authentication System - Email/password signup with verification, Google OAuth 2.0, password reset
- Google Account Linking - Link/unlink Google accounts with password verification, account management UI
- RSS Feed Parser - Parse podcast RSS feeds to extract name, description, cover image, and episodes
- Page Display System - Dynamic username-based pages with responsive design
- Analytics Tracking - Page views, link clicks, and email subscription tracking
- Basic Classes - User, Page, Analytics, Subscription, ImageHandler, RSSParser
- PodaBio Studio shell - React-based admin experience with account management, theme editor, and publishing flows (replaces the legacy dashboard)
- Page Editor - Full-featured page editor with drag-and-drop link reordering, link management, RSS feed import, image uploads (profile/background), podcast directory management, email subscription configuration, and settings/appearance customization
- Shikwasa.js Podcast Player - Integrated web audio player for podcast episodes with theme support
- Email Subscription System - Drawer slider for email subscriptions with integration for 6 major email service providers
- Enhanced Theme System - Full color pickers (primary, secondary, accent) with swatches, font selectors (15 Google Fonts), live preview, and theme auto-population
- Custom Domain Support - Custom domain configuration with DNS verification, domain validation, and automatic routing
- Payment Integration - PayPal and Venmo payment processing, subscription management, checkout pages, webhook handlers, and plan-based feature access
- Marketing Website - Professional landing page, features page, pricing page, and about page with responsive design
- Admin Panel - Comprehensive admin dashboard with user management, page management, subscription management, analytics, and system settings
- Knowledge Base - Self-hosted support center with articles, categories, search, and admin management
- Company Blog - Blog system with posts, categories, pagination, and admin management
- Additional feature enhancements and optimizations
Via SSH:
# Connect via SSH
# Password: [Set/Change via Hostinger Control Panel - SSH Access section]
ssh -p 65002 u810635266@82.198.236.40
# Navigate to project directory (root is /public_html/, no podnbio subdirectory)
cd /home/u810635266/domains/getphily.com/public_html/
# Connect to MySQL
mysql -h srv556.hstgr.io -u u810635266_podnbio -p u810635266_site_podnbio
# Import schema (from project directory)
mysql -h srv556.hstgr.io -u u810635266_podnbio -p u810635266_site_podnbio < database/schema.sql
# Import seed data
mysql -h srv556.hstgr.io -u u810635266_podnbio -p u810635266_site_podnbio < database/seed_data.sqlVia phpMyAdmin:
- Access via Hostinger control panel
- Use database credentials from config
Load Test Accounts (Optional):
# Import test accounts for development/testing
mysql -h srv556.hstgr.io -u u810635266_podnbio -p u810635266_site_podnbio < database/test_accounts.sql- See
TEST_ACCOUNTS.mdfor test account credentials
- Edit
config/database.phpwith your database credentials - Edit
config/constants.phpand setAPP_URLto your domain - Edit
config/oauth.phpand add your Google OAuth credentials:- Get credentials from Google Cloud Console
- Set
GOOGLE_CLIENT_IDandGOOGLE_CLIENT_SECRET
Via SSH:
# Connect via SSH
# Password: [Set/Change via Hostinger Control Panel - SSH Access section]
ssh -p 65002 u810635266@82.198.236.40
# Navigate to project directory (root is /public_html/, no podnbio subdirectory)
cd /home/u810635266/domains/getphily.com/public_html/
# Set permissions
chmod 755 uploads/
chmod 755 uploads/profiles/
chmod 755 uploads/backgrounds/
chmod 755 uploads/thumbnails/
chmod 755 uploads/blog/The .htaccess file is included and should work with Apache mod_rewrite enabled.
Add to your server block:
location / {
try_files $uri $uri/ /public/page.php?username=$1;
}
location ~ ^/(index|features|pricing|about|blog|signup|login) {
try_files $uri /public/$1.php;
}- Sync from Hostinger (one-time baseline)
ssh -p 65002 u810635266@82.198.236.40- Archive the live site:
cd /home/u810635266/domains/getphily.com && tar czf ~/podnbio_files_$(date +%Y%m%d%H%M%S).tar.gz public_html - Dump the DB:
mysqldump -u u810635266_podnbio -p'6;hhwddG' u810635266_site_podnbio > ~/podnbio_db_$(date +%Y%m%d%H%M%S).sql scpboth files to your workstation and extract/import into~/.cursor/podinbio
- Develop locally
- Update
config/database.phpfor127.0.0.1andpodnbio_dev - Set
APP_URLtohttp://127.0.0.1:8080 - Run Apache (or
php -S 127.0.0.1:8080 router.php) and work against the mirrored data - Commit changes to git (keep secrets out by ignoring
config/database.php)
- Update
- Push to GitHub (source of truth)
git push origin main(or PR branches)- GitHub now reflects the live snapshot + your changes
- Deploy to Hostinger
- SSH in and
git pull origin main - Run DB migrations as needed (
php database/migrate_xyz.php) - Clear caches/logs if applicable
- SSH in and
- Promote to new
poda.biohost- Provision new Hostinger account pointing at the same repo
- Clone from GitHub, copy
.env/config secrets - Import the latest DB dump
- Update DNS when ready to switch domains
/
├── config/ # Configuration files
├── classes/ # PHP classes (User, Page, etc.)
├── includes/ # Helper functions and utilities
├── api/ # Third-party API integrations
├── assets/ # CSS, JS, images
├── uploads/ # User uploaded files
├── public/ # Public-facing pages
├── support/ # Knowledge base
├── admin/ # Admin panel
├── database/ # SQL schema and seeds
└── auth/ # OAuth callbacks
- PHP Version: 8.0+ (Recommended: 8.3)
- MySQL Version: 5.7+ / MariaDB 10.3+
- Modular Architecture: Vanilla PHP with class-based structure
- PHP Configuration: See
PHP_CONFIGURATION.mdfor detailed recommendations
- Password hashing (bcrypt)
- CSRF protection
- SQL injection prevention (prepared statements)
- File upload validation
- Rate limiting support
- Session security
- ✅ Legacy user dashboard (retired; replaced by PodaBio Studio)
- ✅ Page editor with drag-and-drop (completed)
- ✅ Link management (completed - full CRUD with drag-and-drop)
- Enhanced theme customization with color/font pickers
- Image uploads UI for profile/background images
- Podcast directory links management
- Email subscription integration
- Episode drawer slider
- Admin panel
- Marketing website
- Payment processing integration
Proprietary - All rights reserved