Photo Based Issue Reporting is a project consisting of a mobile and web application designed to facilitate the reporting and management of city issues by citizens and administrators. The application enables users to easily report problems in their community using photos, while administrators can manage these reports efficiently through a dedicated web interface. The key features include:
- Issue Reporting: Users can report city issues by uploading photos and providing descriptions. The reports can include details such as the image, location, and additional notes to help city administrators take appropriate action.
- Photo Upload and Storage: Photos of reported issues are securely uploaded and stored using Cloudinary, ensuring efficient and reliable media management.
- AI-Powered Categorization: The system is designed to use AI for automatic categorization of reported issues based on the uploaded photos. However, due to the lack of a sufficient training dataset, this feature is currently non-functional.
- User Authentication: The application requires user authentication using JWT (JSON Web Tokens) for secure access and management of reports.
- Administrator Management: City administrators have access to a web application where they can view, manage, and respond to reported issues. The web app provides a comprehensive dashboard for efficient issue tracking and resolution.
- Reverse Geocoding: The mobile application includes reverse geocoding to automatically determine and attach the location of the reported issue based on the user's position.
- Interactive Map: The web application integrates Leaflet to display reported issues on an interactive map, helping administrators visualize the locations and statuses of various reports.
- .NET Core: A cross-platform, high-performance framework used for building the backend API, ensuring robust and scalable server-side functionality.
- Entity Framework Core: An Object-Relational Mapper (ORM) for .NET, providing a streamlined data access layer for interacting with the database.
- Microsoft SQL Server (MSSQL): A powerful, enterprise-grade relational database management system used for storing and managing application data.
- Identity Library: Used for managing user authentication and authorization, providing secure access control within the application.
- JWT (JSON Web Tokens): Used for secure user authentication, enabling token-based authentication for API endpoints.
- React Native: A popular framework for building the mobile application, allowing for cross-platform development with a single codebase using TypeScript.
- Cloudinary: A cloud-based service for managing media assets, used for secure and efficient storage and delivery of photos uploaded by users.
- Reverse Geocoding: A technology used in the mobile app to convert geographic coordinates into human-readable addresses, aiding in the precise location reporting of issues.
- React (JavaScript): A widely-used JavaScript library for building dynamic and responsive user interfaces, employed in the development of the web application.
- Leaflet: An open-source JavaScript library used for interactive maps, allowing administrators to visualize reported issues on a geographic map.