Developer Workflow Guide
This guide covers common development workflows and best practices for working on the FindU platform.Daily Development Flow
1
Start your day
2
Create a feature branch
3
Make your changes
- Write code
- Add tests
- Update documentation
4
Test locally
5
Open a PR
Branch Strategy
Overview
FindU uses a three-tier branch strategy:Branch Protection Rules
Main Branch (Production)
- Protection Level: Maximum
- Requirements:
- PR from dev branch only
- All CI/CD checks must pass
- No direct commits allowed
- Admin override only in emergencies
- Auto-deployment: Merges trigger production deploy
Dev Branch (Development)
- Protection Level: Moderate
- Requirements:
- PR from feature branches
- CI checks must pass
- No approval required (trust-based)
- Direct commits allowed for hotfixes
- Auto-deployment: Merges trigger dev environment deploy
Feature Branches
- Protection Level: None
- Guidelines:
- Always create from dev
- Use descriptive names
- Delete after merge
- Keep focused on single feature/fix
Working with Supabase
Creating Migrations
When you need to modify the database:-
Write Migration:
- Open Supabase dashboard
- Go to SQL Editor
- Write and test your SQL changes
- Save the SQL to a file in your repo
-
Version Control:
-
Apply Migration:
- For immediate changes: Run in SQL Editor
- For review: Include in PR
- Team lead will apply during deployment
Development vs Production Data
Since we use production Supabase directly, follow these guidelines:- Test Accounts: Always use emails containing ‘test’
- Data Isolation: Create test data that’s clearly marked
- Read-Only First: Use SELECT before UPDATE/INSERT
- Clean Up: Remove test data after development
Working with the Web App
Local Development
Adding New Features
- New Page
- New Component
- New API Integration
Working with AI Development Tools
Claude Code (MCP)
Claude Code provides direct Supabase integration:Using MCP Effectively
Git Workflow
Branch Naming
Follow these conventions:feature/description- New featuresfix/description- Bug fixeschore/description- Maintenance tasksdocs/description- Documentation only
Commit Messages
Write clear, descriptive commits:PR Guidelines
Deployment Process
Development Deployment
Production Deployment
Service URLs
Development Environment:- Web App:
findu-web-dev.up.railway.app - ML API:
findu-matching-dev.up.railway.app
- Web App:
findu-web-production.up.railway.app - ML API:
findu-matching-production.up.railway.app - iOS App: App Store
Common Tasks
Adding Environment Variables
- Local Development
- CI/CD
- Railway
Debugging Issues
Database connection issues
Database connection issues
Build failures
Build failures
Preview branch not working
Preview branch not working
Check:
- PR is from a branch in the same repo
- Supabase Branching 2.0 is enabled
- No migration conflicts
Best Practices
Code Quality
- Follow existing patterns - Check nearby code
- Write tests - Especially for critical paths
- Handle errors gracefully - Users should never see crashes
- Optimize for performance - Profile before optimizing
Security
- Never commit secrets - Use environment variables
- Validate all inputs - Both client and server side
- Use RLS policies - Supabase row-level security
- Regular dependency updates - Keep packages current
Team Collaboration
- Communicate in PRs - Document your thinking
- Review thoughtfully - Test locally when needed
- Ask questions - No question is too simple
- Share knowledge - Update docs as you learn
Useful Resources
Supabase Docs
Database, auth, and storage reference
React Docs
React patterns and best practices
Tailwind CSS
Utility-first CSS framework
FindU Slack
Internal team communication
Questions? Need help? Don’t hesitate to ask in #dev-help on Slack!