Skip to content

Latest commit

 

History

History
62 lines (48 loc) · 3.01 KB

File metadata and controls

62 lines (48 loc) · 3.01 KB

Project Task List

This file tracks the tasks for the Schoolify project.

Initial Setup

  • Initialize project structure
  • Create TASKLIST.md
  • Create CHANGELOG.md
  • Create README.md

Data Processing

  • 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

Feature Development

  • 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.py or a new script) to add Lat/Lon to school_data_final.json - Implemented in add_geocodes.py

  • Implement distance calculation (e.g., Haversine formula) in script.js using 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.csv into the main application/visualization.

  • Refine weighting, normalization, and school name standardization in rank_schools.py based on feedback or further analysis.

Bug Fixes

  • 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.py self-copy error (Noted in CHANGELOG 0.6.0)

UI/UX Improvements

  • Enhance visual appearance with updated CSS
  • Improve layout and responsiveness
  • Refine UI elements for clarity and ease of use

Documentation & Maintenance

  • Update README.md with comprehensive project details, setup, and usage instructions
  • Maintain CHANGELOG.md with significant changes
  • Add further comments to code for clarity
  • Consider adding unit/integration tests