Development Workflow
This guide covers the daily development workflow, from writing code to deploying to production.Daily Development Cycle
1. Starting Your Day
2. Development Commands
Running Tests
Code Quality
Linting and Formatting
Database Development
Working with Migrations
Database Fixtures
Database Debugging
Integration Development
Testing Integrations
Integration Patterns
When implementing payment status integrations:UpdatePaymentStatusIntegration
PushPaymentStatusIntegration
Integration Synchronization
Ensure your integration is properly configured for synchronization:- Update
getAllowedSourcesForInvoiceSynchronization
- Implement
getDestToSourceSyncableSourceIntegrations
orgetSourceToDestSyncableSourceIntegrations
- Consider implementing
refresh_unpaid_client_invoices
orrefresh_unpaid_supplier_invoices
Cloudflare Workers Development
Local Development
Testing Workers
GraphQL Development
Relay Development
Generated Files
Relay generates files in__generated__
directories. These are automatically updated when you change GraphQL schemas.
Environment Variables
Cron Jobs
Cron jobs are managed by Vercel (limited to 20) inapps/app/vercel.json
:
- View cron jobs: Vercel Dashboard
Monitoring and Debugging
Production Logs
- Vercel Functions: https://connect.pennylane.com/_logs
- Vercel Dashboard: https://vercel.com/pennylane/app/observability
- Usage Metrics: https://vercel.com/dashboard/pennylane/usage
- Monitoring: https://vercel.com/pennylane/~/monitoring
Local Debugging
Troubleshooting
Common Issues
- Port conflicts: Check if required ports are available
- Supabase connection: Verify local Supabase is running
- Environment variables: Ensure
.env.local
files are properly configured - Dependencies: Run
pnpm install
after pulling changes
Security
- Never commit sensitive data
- Use environment variables for secrets
- Validate and sanitize all inputs
- Follow secure coding practices
For more detailed information, see the Architecture Overview and Contributing Guidelines.