This file tracks the tasks for the Schoolify project.
- Initialize project structure
- Create
TASKLIST.md - Create
CHANGELOG.md - Create
README.md
- Analyze
school_data.json - Clean and normalize school names
- Identify and populate school types (e.g., Public, Private, Catholic)
- Add suburb names based on postcodes
-
Develop search functionality (by name, rank, suburb, type)
-
Develop filtering options (UI and basic logic)
-
Implement rank slider filter (UI and logic)
-
Implement filtering updates for table, charts, and stats
-
Add school level filter (UI and logic)
-
Develop sorting options (by Rank, Name, Suburb, Type, Score, Distance)
-
Implement data visualization (basic charts for rank/type distribution)
-
Research geocoding options (API/database) for obtaining Lat/Lon (e.g., Geoapify, geocode.maps.co, Nominatim)
-
Decision: Choose a geocoding service (e.g., Geoapify, geocode.maps.co) - Chose Nominatim via
add_geocodes.py -
Implementation: Integrate the chosen geocoding service into data processing (likely
clean_data.pyor a new script) to add Lat/Lon toschool_data_final.json- Implemented inadd_geocodes.py -
Implement distance calculation (e.g., Haversine formula) in
script.jsusing geocoded data -
Fully integrate VCAA achievement data (median scores) into main dataset and frontend display
-
Implement distance filtering based on UI slider (
js/data.js&js/events.js) -
Add distance display to results table (and ensure it's calculated and shown correctly)
-
Implement interactive map view (e.g., using Leaflet) to display school locations
-
Implement side-by-side school comparison feature
-
Develop a unified ranking system (
rank_schools.py) based on combined academic metrics. -
Integrate
processed_rankings.csvinto the main application/visualization. -
Refine weighting, normalization, and school name standardization in
rank_schools.pybased on feedback or further analysis.
- Ensure distance column shows calculated values, not 'undefined km'.
- Ensure rank and distance sliders display their current values.
- Ensure Max Distance filter uses 50km and is reflected in UI.
- Use comprehensive dataset (
school_data_final.json) for all Victorian high schools and ranking info. - Refine rank filter to include unranked schools when slider is at max.
- Investigate and fix
update_database.pyself-copy error (Noted in CHANGELOG 0.6.0)
- Enhance visual appearance with updated CSS
- Improve layout and responsiveness
- Refine UI elements for clarity and ease of use
- Update
README.mdwith comprehensive project details, setup, and usage instructions - Maintain
CHANGELOG.mdwith significant changes - Add further comments to code for clarity
- Consider adding unit/integration tests