One concentrated on Python/Flask routing, the other on Javascript functionality. I can't remember which one this is and I wont figure it out until I go to rebuild it on a new framework.
Valuator Tool is an interactive web application designed to simplify the real estate appraisal process. With built-in mapping, database storage, and user-friendly forms, this tool demonstrates practical applications of database integration, API use, and intuitive design as part of CS50.
-
Dynamic Input Forms:
- Multi-step forms for property and comparables data entry.
- Auto-filled fields using Google Maps API (manual overrides included).
-
Interactive Mapping:
- OpenStreetMap integration for real-time property visualization.
- Automatic geocoding with live updates as data is entered.
-
Database Integration:
- Persistent data storage in SQLite for user accounts and property data.
-
Advanced Navigation:
- Spreadsheet-like keyboard navigation for grid-based inputs.
-
User Customization:
- Editable dropdowns, narrative fields, and manual input flexibility.
-
Future Feature - PDF Export:
- Planned implementation for professional-grade report generation.
-
Real-World Utility:
- Designed with feedback from real estate professionals.
- Addresses repetitive tasks, reduces errors, and saves time.
-
Interactive Features:
- Google Maps API and OpenStreetMap integration.
- AI-prepopulated narratives for appraisal reports.
-
Built to Scale:
- Room for future integrations (e.g., PDF export and additional APIs).
HTML, CSS, JavaScript (Leaflet.js, Google Maps API) Python (Flask Framework) SQLite Planned: WeasyPrint for PDF report generation.
Prerequisites
- Python 3.12 or higher.
- SQLite installed on your system.
Steps
-
Install Python Dependencies:
$ pip install -r requirements.txt -
Initialize the Database:
$ python app.py -
Run the Application:
$ flask run -
Access the App: Open
http://127.0.0.1:5000in your browser.
-
Login or Register:
- Admin and user roles supported (admin interface planned).
-
Form Step 1:
- Enter basic property details, such as address and property type.
-
Form Step 2:
- Add subject and comparable properties for analysis.
-
Save and Continue:
- Save data to the database and prepare reports (future versions).
Watch the demonstration video here: https://youtu.be/O2Wjtj4JM28
This project was developed as part of CS50, combining theoretical concepts with practical applications. Special thanks to real estate professionals who provided feedback during development.
CS50 Final Project © 2024 Carrie Snow