A punk rock directory for venues, bands, and resources.
-
Start the development server:
./start_local_server.sh
Visit: http://localhost:8000
-
Make your changes and test locally
-
Deploy to production:
./deploy.sh
That's it! πΈ
- LOCAL_DEVELOPMENT.md - Complete local setup guide
- DEPLOYMENT_WORKFLOW.md - Detailed deployment process
- CHEATSHEET.md - Quick reference for common tasks
./start_local_server.sh- Start local PHP development server./deploy.sh- Automated deployment to production./run_migration.sh <file> <env>- Run database migrations./pre_push_checklist.sh- Pre-deployment checks./setup_local_db.sh- Initial database setup (already done)
elastic-hertz/
βββ index.html # Homepage
βββ venues.html # Venues directory
βββ bands.html # Bands directory
βββ resources.html # Resources directory
βββ venue.html # Individual venue page
βββ band.html # Individual band page
βββ admin.html # Admin panel
βββ submit.html # Submission form
β
βββ api/ # Backend API endpoints
β βββ get_venue_reviews.php
β βββ submit_venue_review.php
β βββ delete_venue_review.php
β βββ ...
β
βββ auth/ # Authentication system
β βββ helpers.php
β βββ session_config.php
β βββ ...
β
βββ db/
β βββ migrations/ # Database migrations
β βββ init_local_schema.sql
β
βββ js/ # JavaScript files
βββ css/ # Stylesheets
βββ uploads/ # User uploads
- Frontend: HTML, Tailwind CSS, Vanilla JavaScript
- Backend: PHP 8.5
- Database: MySQL 9.5
- Authentication: OAuth 2.0 (Google, Facebook, Apple)
- Hosting: DreamHost
- Version Control: Git, GitHub
- Host: localhost
- Database: punktionary_local
- User: root
- Password: (empty)
- Host: sql.punktionary.com
- Database: prod_punk
- User: dayjoel
users- User accounts (OAuth)venues- Venue directorybands- Band directoryresources- Resource directoryvenue_reviews- Venue reviews and ratingscarousel- Homepage carouselpending_edits- Edit suggestionspending_carousel_news- News submissions
Configuration files are stored outside the git repository for security:
/Users/joelday/.claude-worktrees/punktionary/db_config.phpβdb_config.local.php/Users/joelday/.claude-worktrees/punktionary/oauth_config.phpβoauth_config.local.php
/home/joeday1/db_config.php/home/joeday1/oauth_config.php
These files are automatically used by the application through relative path includes.
# 1. Make changes and test locally
./start_local_server.sh
# 2. Deploy everything
./deploy.sh# 1. Commit changes
git add .
git commit -m "Your message"
# 2. Push to GitHub
git push origin elastic-hertz
# 3. Deploy to production
ssh joeday1@iad1-shared-b8-46.dreamhost.com
cd ~/punktionary.com
git pull origin elastic-hertz
exitBefore deploying to production:
- Test changes locally (http://localhost:8000)
- Check browser console for errors (F12)
- Test all modified functionality
- Run
./pre_push_checklist.sh - Review changes with
git diff - Commit with descriptive message
- If database changes: note migrations needed
After deploying:
- Test on production (https://punktionary.com)
- Run any database migrations
- Check production error logs
- Verify all features work
PHP Errors: Appear in terminal where start_local_server.sh is running
JavaScript Errors: Browser console (F12 β Console tab)
Network Errors: Browser DevTools (F12 β Network tab)
Database Queries:
mysql -u root punktionary_localSSH Access:
ssh joeday1@iad1-shared-b8-46.dreamhost.comError Logs:
tail -f ~/logs/punktionary.com/http/error.logDatabase Access:
mysql -h sql.punktionary.com -u dayjoel -p prod_punkpkill -f "php -S localhost:8000"
# Or use different port: php -S localhost:8080brew services start mysql# Clear browser cache: Cmd+Shift+R
# Or force refresh in browsergit fetch origin
git merge origin/elastic-hertz
# Resolve conflicts in editor
git add .
git commit -m "Resolve conflicts"- β Venue review system with 1-5 star ratings
- β Resource type filtering
- β Admin moderation tools
- β Carousel news submission
- β OAuth authentication (Google, Facebook, Apple)
- β User profile management
- β Edit suggestion system
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes and test locally
- Commit:
git commit -m "Add my feature" - Push:
git push origin feature/my-feature - Deploy to production when ready
- Local Setup Issues: See
LOCAL_DEVELOPMENT.md - Deployment Issues: See
DEPLOYMENT_WORKFLOW.md - Quick Reference: See
CHEATSHEET.md
This is a community resource. Keep code clean, test before deploying, and remember: patches are welcome, but so is constructive feedback!