Skip to content

EMutio7/PWD_schools_recommender_system

Repository files navigation

School Recommender System for Persons with Disabilities in Kenya Overview

This project provides a recommender system designed to help users discover schools in Kenya that cater to persons with disabilities (PWDs). The system aims to enhance access to relevant education facilities by leveraging data on schools’ accessibility, services, and resources specifically for PWDs.

The project collects and processes data on schools across Kenya, highlighting key information about their support for various disabilities, including physical, sensory, cognitive, and other special needs. Features

School Search: Users can search for schools based on location, types of disabilities supported, and educational level (primary, secondary, etc.).
Recommendation Engine: A personalized recommendation system that suggests schools based on user preferences and needs.
Accessibility Filters: Filters to find schools that provide accessibility features such as ramps, braille materials, special education teachers, etc.
Data Visualization: Visualizes the geographical distribution of schools that support PWDs.
Detailed School Information: Provides detailed information on each school, including contact details, type of services provided, and special accommodations.

Technologies Used

Programming Language: Python
Machine Learning Framework: Scikit-learn
Web Framework: Flask
Database: PostgreSQL/MySQL
Geospatial Data: Google Maps API
Frontend: HTML, CSS, JavaScript
Visualization: Matplotlib, Seaborn, Plotly
Deployment: Docker

How It Works

Data Collection: The dataset consists of schools in Kenya, sourced from Ministry of Education data and other relevant institutions, with details on the accessibility features and services for persons with disabilities.
Preprocessing: The data undergoes cleaning and preprocessing, including handling missing values, standardizing formats, and applying geospatial data for mapping school locations.
Recommendation Algorithm: The system uses a content-based filtering algorithm to match user needs (input by the user) with schools that offer suitable services and infrastructure.
Web Application: The frontend allows users to input their preferences and disabilities, which the backend processes to recommend suitable schools.
Visualization: The system generates maps and charts to display the distribution and concentration of schools across different regions of Kenya.

Installation

Clone the repository:

bash

git clone https://github.com/username/pwd-school-recommender.git
cd pwd-school-recommender

Install the required dependencies:

bash

pip install -r requirements.txt

Set up the database:

Create and configure the database (PostgreSQL/MySQL) Apply migrations if applicable:

bash

python manage.py migrate

Obtain API keys for geospatial data (e.g., Google Maps API):

Set up environment variables or config files for API keys.

Run the application:

bash

python manage.py runserver

Usage

Visit the web application interface. Enter the location and specific needs (e.g., physical, sensory, cognitive disabilities). Get a list of recommended schools that match your criteria. Explore detailed school profiles and their accessibility features.

Data Sources

Ministry of Education, Kenya Kenya Institute of Special Education (KISE) Google Maps for location data

Contributing

Contributions are welcome! Please feel free to open an issue or submit a pull request for any improvements or additional features. To contribute:

Fork the repository. Create a new branch for your feature:

bash

git checkout -b feature-name

Commit your changes:

bash

git commit -m "Added feature"

Push the branch:

bash

git push origin feature-name

Open a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details. Contact

For any inquiries or feedback, feel free to reach out at:

Email: [email protected] GitHub: EMutio7

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published