- Added ProjectModel class in models/project_model.py to define structure for Filevine project data with proper type hints and conversion methods (to_dict/from_dict)
- Implemented get_firestore_document() helper function in app.py for retrieving specific Firestore documents
- Enhanced dashboard pagination in app.py with improved error handling and debugging output for property contacts and project IDs
- Overhauled sync.py with:
* Parallel processing using ThreadPoolExecutor for efficient project synchronization
* Comprehensive extraction of project data from Filevine forms (newFileReview, datesAndDeadlines, propertyInfo, etc.)
* Improved error handling and logging throughout the sync process
* Proper handling of date conversions and field mappings from Filevine to Firestore
* Added property contacts email extraction and viewing_emails array population
* Added support for filtering projects by specific ProjectId (15914808) for targeted sync
- Added proper initialization of Filevine client in worker threads using thread-local storage
- Improved handling of optional fields and default values in ProjectModel
- Added detailed logging for progress tracking during synchronization
This implementation enables reliable synchronization of Filevine project data to Firestore with proper data modeling and error handling, supporting the dashboard's data requirements.
- Added billing_project to Google Cloud providers
- Enabled user_project_override for both providers
- Added Firebase Authentication service resource
- Configured Identity Platform with email/password, phone, and anonymous sign-in
- Set up authorized domains for local and Firebase hosting
- Added dependency relationships between resources
This enhances the project's infrastructure configuration to properly support Firebase Authentication and related services.
This commit introduces the complete Terraform infrastructure configuration for setting up the Rothbard Law Group client portal on Google Cloud. The changes include:
- Added google-beta provider for Firebase resources
- Created new Google Cloud Project with proper service enabling
- Enabled required Firebase APIs (firebase.googleapis.com)
- Enabled Firestore API (firestore.googleapis.com)
- Created Firebase Web App for the project
- Created Firestore database in native mode
- Added billing account configuration
- Updated project name and ID variables
- Added output values for Firebase app ID and Firestore database name
This infrastructure setup supports the application's authentication, session management, and data storage needs using Firebase Authentication, Firestore, and Filevine API integration.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create Firebase project, web app, and Firestore database
- Automate Firebase Authentication with email templates
- Configure security rules for user data isolation
- Support Cloud Run and App Engine hosting options
- Add professional email templates for password reset and verification
- Include deployment scripts and comprehensive documentation
- Implement service accounts with minimal required permissions
- Add Docker configuration for containerized deployment
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Expand README.md with detailed architecture overview, configuration guide, and usage instructions
- Add CLAUDE.md with development commands and implementation details for Claude Code assistance
- Document authentication flow, API integration, and security considerations
- Include setup instructions for Firebase, Filevine API, and local development environment
- Add project structure documentation and future enhancement roadmap
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>