-
-
Notifications
You must be signed in to change notification settings - Fork 74
Feature/enhanced processing and storage #138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Feature/enhanced processing and storage #138
Conversation
Dude.. that's quite a pr. First and foremost thanks for the work. I need some time to check it out and go through all of this which might take 2 weeks as I'm on a business trip starting end of this week, so there might be some delays. I'll check it out as soon as possible. |
Yeah, sorry that it became so big... Take your time to review it and feel free to ask me any questions :) |
hey. I just did a quick check (I need to dig way deeper), just a couple of questions for now.
Lastly, if I change the order as mentioned in (7), and use the ai enhancement, I do get tons of these errors:
|
package-lock.json | ||
|
||
# Config files | ||
config.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this must be included, otherwise Fredy will break for everybody when cloning freshly
Hey,
I've been working quite extensively on Fredy because I think it's a great idea!
Here is what I added:
🚀 Enhanced Real Estate Listing System with AI-Powered Processing
📋 Summary
This PR introduces a comprehensive enhancement to the real estate listing system, adding AI-powered listing processing, waypoint calculations, improved error handling, and a new dashboard interface. The changes transform the basic listing scraper into a sophisticated real estate analysis platform.
🎯 Key Features
🤖 GenAI-Enhanced Listing Processing
enhancedListingsStorage
with schema validation and enforcement🗺️ Waypoint Calculator
📊 Dashboard & UI Enhancements
🔧 Technical Improvements
Error Handling & Logging
logger.js
utility with Winston integrationCode Quality
Performance & Reliability
📁 Files Changed
Core System (59 files changed, +1053/-325 lines)
lib/FredyRuntime.js
- Enhanced with AI processing and waypoint calculationlib/services/extractor/
- New extraction pipeline with ChatGPT integrationlib/services/storage/enhancedListingsStorage.js
- New storage system with schema validationlib/services/waypoint-calculator/
- New travel time calculation serviceUI Components
ui/src/views/dashboard/
- New dashboard interfaceui/src/views/jobs/mutation/
- Enhanced job configuration with custom fields and waypointsui/src/services/rematch/models/
- Updated state managementTesting & Configuration
🧪 Testing
�� Breaking Changes
None - This is a feature addition that maintains backward compatibility with existing jobs and configurations.
�� Migration Notes
📈 Impact
🔮 Future Considerations
Total Changes: 74 files, +3,436 insertions, -7,285 deletions (net -3,849 lines, mostly due to yarn.lock removal)
This PR represents a significant evolution of the real estate listing system, transforming it from a basic scraper into a comprehensive analysis platform with AI capabilities and travel insights.
🏠 Enhanced Real Estate Listing System - Detailed Feature Architecture
1. Custom Fields System
Overview
The custom fields system allows users to define specific attributes they want to extract from real estate listings using natural language processing. This transforms basic listing data into rich, structured information tailored to individual preferences.
Architecture
How It Works
User Configuration: Users define custom fields in the job creation interface with:
AI Processing Pipeline:
ChatGPT Integration:
Functionality
Security
2. Waypoints System
Overview
The waypoints system calculates travel times and distances from listings to user-defined important locations, providing crucial insights for location-based decision making.
Architecture
How It Works
Waypoint Configuration: Users define locations with:
Google Maps Integration:
Calculation Process:
travelTime_work
,travelDistance_work
fieldsFunctionality
Security
3. Enhanced Listings Processing
Overview
Enhanced listings represent a complete transformation of basic search results into rich, AI-analyzed data with travel insights, providing comprehensive information for informed decision making.
Architecture
How It Works
Initial Search: Standard listing discovery via search pages
Expose Fetching:
Content Processing:
AI Enhancement:
Travel Calculation:
Functionality
4. Enhanced Listings Storage
Overview
A sophisticated storage system designed to handle the complex, schema-enforced data structure of enhanced listings with proper validation and efficient retrieval.
Architecture
How It Works
Schema Management:
Storage Structure:
Data Validation:
File Organization:
db/enhanced-listings/{jobId}.json
Functionality
5. Dashboard Interface
Overview
A comprehensive table-based interface that transforms enhanced listing data into actionable insights, enabling users to compare properties and make informed decisions.
Architecture
How It Works
Data Retrieval:
Dynamic Column Generation:
Advanced Filtering:
Interactive Features:
Functionality
Security Features
�� Security & Privacy
API Key Management
Data Protection
Access Control
This architecture provides a robust, scalable, and secure foundation for advanced real estate analysis while maintaining user privacy and data security.