A comprehensive web application for reporting and tracking accessibility issues across various environments. This project helps improve accessibility for people with disabilities by allowing users to report problems like broken elevators, blocked ramps, and inaccessible vehicles in real-time.
Internal Transportation & Infrastructure:
- Report broken elevators in community buildings and parking structures
- Document blocked wheelchair ramps or accessibility paths within the community
- Track issues with community shuttle services, golf carts, and internal transportation
- Monitor accessibility problems at clubhouses, gyms, pools, and common areas
- Report missing or broken accessibility features like handrails, audio announcements, and tactile indicators
Benefits for Residents:
- Elderly residents can easily report mobility barriers they encounter daily
- Property management receives real-time updates on accessibility issues
- Creates documented history for maintenance planning and budget allocation
- Helps ensure compliance with Fair Housing Act and ADA regulations
- Improves quality of life for residents with disabilities and mobility challenges
Office Buildings & Workplaces:
- Employees can report workplace accessibility barriers affecting productivity
- Track elevator maintenance needs and service disruptions
- Document blocked emergency exits or accessibility paths
- Help employers maintain ADA compliance and avoid legal issues
- Ensure equal workplace opportunities for employees with disabilities
Shopping Centers & Retail:
- Document broken escalators, elevators, and moving walkways
- Report blocked accessible parking spaces or charging stations
- Track issues with accessible restroom facilities and changing rooms
- Monitor problems with automatic doors, ramps, and tactile surfaces
- Help retailers create inclusive shopping experiences
Universities & Schools:
- Students can report broken elevators in dormitories and academic buildings
- Track accessibility issues in cafeterias, libraries, laboratories, and recreational facilities
- Monitor campus transportation accessibility (buses, shuttles, parking)
- Help institutions maintain Section 504 and ADA compliance
- Ensure equal access to educational opportunities and campus life
Hospitals & Clinics:
- Report broken patient lifts, accessible entrances, and medical equipment access
- Track issues with accessible parking and pathways to medical facilities
- Monitor elevator outages that affect patient transport
- Ensure emergency evacuation routes remain accessible
- Help healthcare providers maintain patient care standards
Civic Buildings & Services:
- Citizens can report accessibility barriers in courthouses, DMV offices, and city halls
- Track maintenance needs for public accessibility features
- Document issues affecting access to voting locations and polling stations
- Ensure equal access to government services and civic participation
- Help municipalities comply with public accessibility laws
Hotels & Tourist Attractions:
- Hotels can track accessibility issues in guest rooms, lobbies, and amenities
- Tourist attractions can monitor accessibility barrier reports from visitors
- Help improve accessibility for travelers with disabilities
- Ensure compliance with hospitality industry accessibility standards
- Create more inclusive travel experiences
- Python 3.8 or higher
- Modern web browser (Chrome, Firefox, Safari, Edge)
-
Clone the repository
git clone https://github.com/Zakeertech3/Public_Transit_Accessibility_Reporter.git cd Public_Transit_Accessibility_Reporter -
Install Python dependencies
pip install -r requirements.txt
cd backend
python start_server.pyThe API will be available at: http://localhost:8000
- Health check: http://localhost:8000/health
- API documentation: http://localhost:8000/docs
Open a new terminal window:
cd frontend
python -m http.server 8080 --bind 127.0.0.1The web application will be available at: http://127.0.0.1:8080
βββ backend/ # FastAPI backend server
β βββ main.py # Main FastAPI application
β βββ models.py # Pydantic data models
β βββ database.py # SQLite database management
β βββ start_server.py # Server startup script
β βββ reports.db # SQLite database (auto-created)
β βββ README.md # Backend documentation
βββ frontend/ # Web frontend
β βββ index.html # Report submission form
β βββ map.html # Interactive map view
β βββ reports.html # Reports list view
β βββ styles.css # Responsive CSS framework
β βββ script.js # JavaScript functionality
β βββ README.md # Frontend documentation
βββ requirements.txt # Python dependencies
βββ README.md # This file
- Real-time Report Submission: Submit accessibility issues with precise location, category, description, and photos
- Interactive Map Visualization: View all reported issues on an interactive map with detailed popups
- Comprehensive Reports List: Browse, search, and filter all reports in an organized list format
- Mobile-First Design: Fully responsive and optimized for mobile and desktop devices
- Photo Documentation: Attach photos to reports with automatic compression (max 100KB)
- GPS Location Services: Automatically capture precise GPS coordinates for accurate reporting
- Reverse Geocoding: Convert coordinates to readable addresses for better context
- Elevator Out of Service: Building elevators and lifts not functioning
- Blocked Ramp: Wheelchair ramps blocked or inaccessible
- Inaccessible Vehicle: Transit vehicles without proper accessibility features
- Missing Audio Announcement: Lack of audio accessibility features
- Other: Custom categories for specific community needs
- FastAPI: Modern Python web framework with automatic API documentation
- SQLite: Lightweight, serverless database for reliable data storage
- Pydantic: Data validation and serialization with type safety
- Uvicorn: High-performance ASGI server for FastAPI applications
- HTML5: Semantic, accessible markup structure
- CSS3: Responsive design with modern Flexbox and Grid layouts
- Vanilla JavaScript: No framework dependencies for faster loading
- Leaflet.js: Interactive, mobile-friendly mapping library
| Method | Endpoint | Description |
|---|---|---|
| GET | / |
Root endpoint with API information |
| GET | /health |
Health check for monitoring |
| GET | /api/reports |
Retrieve all accessibility reports |
| POST | /api/reports |
Create new accessibility report |
| DELETE | /api/reports/{id} |
Delete specific report by ID |
The reports table contains:
id- Primary key (auto-increment)latitude- Report location latitude (precise GPS coordinates)longitude- Report location longitude (precise GPS coordinates)category- Issue category (standardized accessibility types)description- Optional detailed issue descriptionphoto_base64- Optional base64 encoded photo (max 100KB for performance)timestamp- Report creation timestamp (ISO format with timezone)
People who experience accessibility barriers firsthand can directly report them, rather than relying on others to notice problems. This creates authentic, user-driven feedback.
Issues are reported immediately when discovered, allowing organizations to respond quickly and prevent prolonged accessibility barriers.
Organizations can analyze collected data to identify patterns, prioritize improvements, and allocate resources effectively for maximum accessibility impact.
Provides a comprehensive accessibility monitoring system without requiring expensive specialized equipment, extensive training, or dedicated staff.
Helps organizations maintain compliance with ADA, Section 504, Fair Housing Act, and other accessibility laws by providing documentation and enabling faster issue resolution.
Encourages organizations to think proactively about accessibility rather than reactively fixing problems, leading to better universal design practices.
Works on any device with a web browser, ensuring the reporting tool itself is accessible to users with various technological capabilities.
cd backend
# Install dependencies
pip install -r ../requirements.txt
# Run with auto-reload for development
uvicorn main:app --reload
# Or use the startup script
python start_server.pycd frontend
# Serve files locally
python -m http.server 8080 --bind 127.0.0.1
# Alternative with Node.js
npx serve .curl http://localhost:8000/healthVisit http://localhost:8000/docs for interactive API documentation and testing interface.
- Chrome/Chromium (mobile and desktop) - Full feature support
- Firefox (mobile and desktop) - Full feature support
- Safari (mobile and desktop) - Full feature support
- Microsoft Edge - Full feature support
- Progressive Web App capabilities for offline functionality
- Touch-friendly Interface: Large buttons and intuitive gesture controls
- GPS Integration: Automatic location detection with high accuracy
- Camera Integration: Direct photo capture and upload from mobile devices
- Responsive Navigation: Hamburger menu optimized for various screen sizes
- Offline Capability: Progressive Web App features for areas with poor connectivity
We welcome contributions from developers, accessibility advocates, and community organizations:
- Fork the repository
- Create a feature branch (
git checkout -b feature/accessibility-improvement) - Commit your changes (
git commit -m 'Add accessibility feature') - Push to the branch (
git push origin feature/accessibility-improvement) - Open a Pull Request with detailed description
- Additional accessibility categories
- Multi-language support
- Integration with existing property management systems
- Enhanced reporting analytics and dashboards
- API integrations with municipal accessibility databases
This project is open source and available under the MIT License, making it freely available for communities, organizations, and developers worldwide.
Backend won't start:
- Ensure Python 3.8+ is installed:
python --version - Check if port 8000 is available:
netstat -ano | findstr :8000 - Verify all dependencies are installed:
pip install -r requirements.txt
Frontend can't connect to backend:
- Ensure backend is running on http://localhost:8000
- Check CORS configuration in
backend/main.py - Verify frontend is served from http://127.0.0.1:8080
Database issues:
- The SQLite database is created automatically on first run
- Check file permissions in the backend directory
- Delete
reports.dbto reset the database if needed
GPS/Location issues:
- Ensure location services are enabled in browser settings
- Use HTTPS in production for location API access
- Check browser console for geolocation error messages
- Check the Issues page for known problems and solutions
- Review the backend and frontend README files for detailed technical documentation
- Ensure both servers are running on the correct ports before reporting issues
- Basic report submission and viewing
- Interactive map visualization
- Mobile-responsive design
- Photo upload capability
- User authentication and profiles for accountability
- Email notifications for report updates and resolutions
- Advanced filtering, search, and analytics dashboard
- Report status tracking (Open, In Progress, Resolved)
- Integration with popular property management systems
- Multi-language support for diverse communities
- API integrations with municipal accessibility databases
- Machine learning for automatic issue categorization
- Voice-to-text reporting for enhanced accessibility
- Integration with IoT sensors for automatic issue detection
- Real-time collaboration with maintenance teams
- Predictive analytics for preventive maintenance
- Integration with smart city infrastructure
- Comprehensive accessibility compliance reporting tools
This project represents more than just a reporting toolβit's a step toward creating truly inclusive communities where accessibility barriers are quickly identified, documented, and resolved. By empowering individuals to report issues directly, we create a feedback loop that benefits everyone and promotes universal design principles.
Whether you're managing a gated community, operating a business, running an educational institution, or serving the public, this tool helps ensure that accessibility is not an afterthought but an integral part of your operations.
Together, we can build a more accessible world, one report at a time.