A community-driven accessibility mapping platform that helps people with disabilities navigate urban environments by crowdsourcing accessibility information.
- Interactive Map: Real-time accessibility information with location-based incident reporting
- Community Voting: Democratic approval system for reported accessibility issues
- User Authentication: Secure login and registration system
- Mobile-First Design: Responsive interface optimized for all devices
- Real-Time Updates: Live notifications for new incidents and approvals
- React 19
- React Router for navigation
- Leaflet for interactive maps
- Axios for API communication
- React Icons for UI elements
- CSS Modules for styling
- Node.js with Express
- MongoDB with Mongoose
- JWT authentication
- Socket.IO for real-time updates
- Multer for file uploads
- Node.js (v16 or higher)
- MongoDB database
- MapTiler API key
- OpenCage API key
- Clone the repository:
git clone <your-repo-url>
cd access-map0- Install frontend dependencies:
cd frontend
npm install- Install backend dependencies:
cd ../backend
npm install- Set up environment variables:
Create a
.envfile in the backend directory with:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
PORT=5001
- Start the development servers:
Backend:
cd backend
npm startFrontend:
cd frontend
npm startaccess-map0/
├── frontend/ # React frontend application
│ ├── public/ # Static assets
│ ├── src/
│ │ ├── components/ # React components
│ │ │ ├── forms/ # Login and signup forms
│ │ │ ├── Incident/ # Incident-related components
│ │ │ ├── pages/ # Page components
│ │ │ └── Styles/ # CSS modules
│ │ └── App.js # Main app component
├── backend/ # Node.js backend
│ ├── models/ # MongoDB models
│ ├── routes/ # API routes
│ ├── middleware/ # Custom middleware
│ └── server.js # Express server
└── README.md
POST /api/auth/register- User registrationPOST /api/auth/login- User login
GET /api/incidents- Get all incidentsPOST /api/incident/report- Report new incident (authenticated)POST /api/incident/:id/vote- Vote on incident (authenticated)DELETE /api/incident/:id- Remove incident (authenticated, owner only)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Ankit D. Vishwakarma
- Asmith Mahendrakar
Shree L.R. Tiwari Degree College