Create a .env.local file in the root directory with the following variables:
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# AI Configuration
ANTHROPIC_API_KEY=your_anthropic_api_key-
Create Supabase Project:
- Go to supabase.com
- Create a new project
- Note your project URL and API keys
-
Run Database Schema:
- Open your Supabase project dashboard
- Go to SQL Editor
- Copy and paste the contents of
database-schema.sql - Execute the SQL script
-
Update Environment Variables:
- Copy your Supabase URL to
NEXT_PUBLIC_SUPABASE_URL - Copy your anon key to
NEXT_PUBLIC_SUPABASE_ANON_KEY - Copy your service role key to
SUPABASE_SERVICE_ROLE_KEY
- Copy your Supabase URL to
- Get Anthropic API Key:
- Go to console.anthropic.com
- Create an account and get your API key
- Add it to
ANTHROPIC_API_KEYin your.env.local
npm run devThe application will be available at http://localhost:3000
- Navigate to the "Intake Form" tab
- Fill out the migration requirements
- Submit the form to trigger AI analysis
- Go to the "File Upload" tab
- Upload QuickBooks files (.qbb, .qbm, .qbo)
- Watch the AI analysis process
- Check the "Progress" tab to see migration status
- View AI analysis results
- Track migration progress
curl -X POST http://localhost:3000/api/intake \
-H "Content-Type: application/json" \
-d '{
"current_software": "QuickBooks Desktop Pro",
"target_software": "QuickBooks Online",
"urgency": "high",
"data_preservation_requirements": ["Chart of Accounts", "Customer Records"],
"user_id": "demo-user-123"
}'curl "http://localhost:3000/api/progress?user_id=demo-user-123"-
Environment Variables Not Loading:
- Ensure
.env.localis in the root directory - Restart the development server after adding variables
- Ensure
-
Database Connection Errors:
- Verify Supabase URL and keys are correct
- Check that the database schema has been executed
-
AI Analysis Failing:
- Verify Anthropic API key is valid
- Check API key has sufficient credits
-
File Upload Issues:
- Ensure file types are supported
- Check file size limits (10MB max)
- Check Console Logs: Open browser dev tools to see any errors
- Database Debugging: Use Supabase dashboard to inspect data
- API Testing: Use tools like Postman or curl for API testing
The application uses the following tables:
- users: User profiles and authentication
- migrations: Migration projects and status
- files: Uploaded files and metadata
- intake_responses: User intake form responses
- ai_analyses: AI-generated analysis and plans
- migration_progress: Real-time progress tracking
- Row Level Security (RLS) enabled on all tables
- Input validation with Zod schemas
- File type and size validation
- User data isolation
-
Connect Repository:
- Push code to GitHub
- Connect repository to Vercel
-
Set Environment Variables:
- Add all environment variables in Vercel dashboard
- Use production Supabase and API keys
-
Deploy:
- Vercel will automatically deploy on push to main branch
NEXT_PUBLIC_SUPABASE_URL=your_production_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_production_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_production_supabase_service_role_key
ANTHROPIC_API_KEY=your_production_anthropic_api_key- Vercel Analytics: Built-in performance monitoring
- Supabase Logs: Database query monitoring
- Error Tracking: Consider adding Sentry for error monitoring
- Authentication: Integrate Clerk or Supabase Auth
- Payments: Add Stripe for subscription plans
- Real-time Updates: Implement WebSocket connections
- Advanced AI: Enhance migration analysis capabilities
- Export Features: Add migration plan export functionality
For issues or questions:
- Check the README.md for detailed documentation
- Review the database-schema.sql for database structure
- Create an issue in the repository for bugs or feature requests