- Ruby 3.3+
- PostgreSQL
- Node.js 20+
- Stripe CLI (for webhook testing)
git clone git@github.com:yshmarov/moneygun.git your_project_name
cd your_project_name
# Set up your own remote
git remote rename origin moneygun
git remote add origin https://github.com/your-account/your-repo.git
git push -u origin mainbin/setupThis installs dependencies, creates the database, and loads the schema.
rails credentials:editAdd your API keys:
stripe:
publishable_key: pk_test_...
secret_key: sk_test_...
signing_secret:
- whsec_...
google:
client_id: ...
client_secret: ...
github:
client_id: ...
client_secret: ...For environment-specific credentials:
EDITOR="code --wait" rails credentials:edit --environment=developmentbin/devThis starts:
- Rails server
- CSS build watcher
- Stripe webhook listener
- Background job processor
Visit http://localhost:3000
- Go to Google Cloud Console
- Create OAuth 2.0 credentials
- Add authorized redirect URI:
- Development:
http://localhost:3000/auth/google_oauth2/callback - Production:
https://yourdomain.com/auth/google_oauth2/callback
- Development:
- Go to GitHub Developer Settings
- Create a new OAuth App
- Add callback URL:
- Development:
http://localhost:3000/auth/github/callback - Production:
https://yourdomain.com/auth/github/callback
- Development:
# Run migrations
rails db:migrate
# Seed sample data (creates Stripe products)
rails db:seed
# Reset database
rails db:reset- Stripe Integration - Set up payments
- Architecture - Understand the codebase
- Development - Testing and linting
- Deployment - Deploy to production