EkoPulse is a comprehensive web application designed to help citizens of Lagos, Nigeria report environmental issues and enable authorities to track and respond to them efficiently. The platform features real-time updates, interactive mapping, and role-based access control.
# EkoPulse - Environmental Issue Reporting Platform
**EkoPulse is a comprehensive web application designed to help citizens of Lagos, Nigeria report environmental issues and enable authorities to track and respond to them efficiently. The platform features real-time updates, interactive mapping, and role-based access control.**
*Itesiwaju Eko lo je wa logun!*
## 🖼️ Project Preview
## 🌟 Features
### Core Functionality
- **User Authentication**: Secure authentication powered by Clerk with citizen and authority roles
- **Interactive Map**: Leaflet-based map of Lagos displaying environmental issue pins
- **Issue Reporting**: Citizens can report issues with location, description, type selection, and photo upload
- **Issue Visualization**: Color-coded pins on map with detailed modal views
- **Status Management**: Authorities can update issue status (Reported → Under Review → Resolved)
- **Authority Dashboard**: Comprehensive dashboard for authorities to manage all reports
- **Real-time Updates**: WebSocket integration for live issue updates and status changes
### Technical Features
- **Responsive Design**: Mobile-first design that works on all devices
- **Real-time Communication**: WebSocket-based live updates
- **Image Upload**: Cloudinary integration for image storage and optimization
- **Geographic Search**: Location-based issue filtering and search
- **Data Visualization**: Statistics and analytics for authorities
## đź› Technology Stack
### Frontend
- **React.js 18** with TypeScript
- **Vite** for build tooling
- **Tailwind CSS** for styling
- **Leaflet** with React-Leaflet for mapping
- **Clerk** for authentication
- **Socket.io-client** for real-time communication
- **React Hook Form** for form management
- **Axios** for API communication
- **React Hot Toast** for notifications
### Backend
- **Node.js** with TypeScript
- **Express.js** framework
- **MongoDB** with Mongoose ODM
- **Socket.io** for WebSocket communication
- **Clerk SDK** for authen …