JanSampark is a comprehensive social media app designed to address urban community issues by connecting residents with local authorities. It allows verified users to report grievances, upvote concerns, and foster community engagement for timely issue resolution.
- Community Engagement: Connects residents to share and address local grievances.
- Safety Alerts: Post and upvote concerns such as road issues and safety alerts.
- Content Verification: Ensures accurate and trustworthy information.
- Neighborhood Unity: Promotes trust and unity through verified, localized alerts.
- Authority Attention: Highlights most upvoted posts to local authorities for action.
- Transparency: Tracks issue status and authority responses for accountability.
- Frontend: Flutter
- Backend: Node.js, Express.js
- Database: MongoDB
Client Request -> Routing and Validation -> Authentication -> Content Verification -> Location-Based Filtering -> Integration -> Response
- Client Request: Flutter app sends requests to Express.js API gateway.
- Express.js Server: Handles API requests, built with Node.js and Express.js.
- Routing and Validation: Routes requests and validates data.
- MongoDB: Stores user data, posts, and manages authentication.
- Business Logic Layer: Core logic for grievance handling, upvoting, and content verification.
- Content Verification: Uses custom logic or machine models (Node.js and Python).
- Location-Based Filtering: Ensures content relevance based on user location.
- Integration: Forwards high-priority grievances to local authorities via RESTful APIs.
- Notifications: Real-time updates and notifications using websockets.
- Response: Sends processed data back to the client through the API gateway.
- Users: Manages user registration, authentication, and profiles.
- Grievances: Stores grievance details (title, description, location, category, media).
- Upvotes: Tracks upvotes for grievances.
- Comments: Manages discussions related to grievances.
- Notifications: Stores user notifications about grievance updates.
- Authorities: Facilitates interaction with local authorities.
- User Registration and Authentication: Setup user profiles and authentication.
- Reporting a Grievance: Post grievances, add details, and location.
- Viewing and Upvoting Grievances: Browse posted issues, upvote concerns.
- Collaboration and Discussion: Comment and discuss on grievances.
- Notification and Updates: Receive real-time updates on grievance status.
- Interaction with Local Authorities: Facilitate communication and track resolutions.
- Feedback and Ratings: Provide feedback post-resolution.
- Post-Resolution Community Engagement: Foster community engagement around resolved issues.
To get started with JanSampark, follow these steps:
- Clone the repository.
- Install dependencies for both frontend and backend.
- Configure MongoDB connection.
- Run the backend server.
- Run the Flutter app on your device/emulator.
This project is licensed under the MIT License - see the LICENSE file for details.