/hackathon1.0

source of Rajasthan Police Hackathon1.0's police feedback system solution

Primary LanguageTypeScriptMIT LicenseMIT

Getting Started:

Pre-requistics

  • NodeJS2
  • NPM
  • Git

1. Clone repo:

git clone https://github.com/anaysharma/Hackathon-1.0.git
cd ./Hackathon-1.0

2. Start the server

cd ./server
npm i
node index.js

3. Start development App frontend

cd ../client
npm i
npm run dev

4. Preview App in browser

open the development server url in your preferred browser.

Problem Statement: 

Getting feedback on police operations is difficult due to outdated methods and privacy concerns. Traditional ways like inspections and calls to complainants are restricted and lack inclusivity. This hampers understanding community feelings and addressing policing issues effectively.

Solution: 

Digital Feedback Platform: 

  • Develop a user-friendly, cross-platform mobile and web application feedback system for citizens.
  • Enable users to initiate the feedback process by scanning a QR code.
  • Implement secure user verification through OTP/email, ensuring a trustworthy feedback submission process.
  • Offer multiple feedback options, allowing users to provide both short and detailed feedback.
  • Foster community engagement by enabling users to share feedback on social media, including the ability to tag a particular police station.
  • Integrate a chatbot for user inquiries and assistance, enhancing accessibility and support.
  • Automate feedback processing and utilize NLP for summarization, streamlining administrative tasks.
  • Provide administrators with efficient insights, ensuring transparency and accountability in police services.
Components: 
  • Privacy and Anonymity Manager:

    • Implement robust privacy measures to ensure anonymous feedback submission.
  • Data Analysis and Reporting:

    • Utilize data analytics for comprehensive reporting on feedback trends.
  • User Interface and User Experience:

    • Create an intuitive and accessible interface for a positive user experience.
  • Machine Learning-based Chat API:

    • Integrate a chatbot to assist users and streamline the feedback process.
  • Database Storage:

    • Implement a secure database for storing feedback data.
  • Cybersecurity Management:

    • Prioritize cybersecurity to protect sensitive information.
Mode of Access: 
  • QR-Based Access:

    • Implement QR codes for easy access to the digital feedback platform.
  • Publicly Hosted Web Portal:

    • Ensure the platform is accessible through a publicly hosted web portal.
Features: 
  • Anonymous Reporting:

    • Allow users to submit feedback anonymously, promoting honesty.
  • Multilingual Support:

    • Include multilingual capabilities to accommodate the diverse linguistic population.
  • Real-time:

    • Provide real-time feedback submission and response.
  • Automated Alerts:

    • Implement automated alerts for immediate attention to critical issues.
  • Data Analytics and Reporting:

    • Utilize data analytics to generate actionable insights.
  • Chatbot and Helpline:

    • Integrate a chatbot and helpline for user assistance.
  • Feedback Submission:

    • Enable users to submit feedback effortlessly.

Software & Technology: 

Category Technologies
Programming Languages JavaScript, Python
Frameworks ReactJS, TailwindCSS, ExpressJS, Axios, BullJS
Database MongoDB
Software Browser:
  • Google Chrome: v115 or newer
  • Mozilla Firefox: v115 or newer
  • Microsoft Edge: v115 or newer
Runtime:
  • Node JS: v20.10.00 or newer
Web Server Amazon Web Services, Google Firebase
Platform Windows 10 or newer
Android 11 or newer
Linux:
  • Ubuntu: v20.01 or newer
  • Debian: v10.00 or newer
  • Arch: v6.0.6 or newer
Tools Git, GitHub, Jest, Twilio, JWT
Mobile App Development React Native
Testing Jest

Team Members & Responsibilities: 

Sr.No. Candidate Name Responsibilites
1. Prabal Pratap AI/ML development
2. Saransh Meena Android development
3. Nikhil Raj Database development
4. Anay Sharma web development

Flow chart/ Graphical Representation: 

High level Architecture of Digital System

Flow chart: High level Architecture of Digital System

digital mechanism of Police Feedback System

Flow chart: digital mechanism of Police Feedback System

Schedule:

Setting realistic deadlines for each component is crucial for completing the project on time. Here's a suggested breakdown of tasks with deadlines:

Week 1 (December 6 - 14): Project Setup and Planning
  1. Day 1-2: Project Planning

    • Define project scope, features, and requirements.
    • Break down tasks for frontend and backend development.
  2. Day 3-4: Environment Setup

    • Set up development environments for React, React Native, and Node.js.
    • Initialize your project repositories.
  3. Day 5-7: Frontend Development Kickoff

    • Start building the React web interface.
    • Implement basic navigation and layout.
Week 2 (December 15 - 21): Frontend Development
  1. Day 8-10: Web Interface

    • Continue developing the React web interface.
    • Implement QR code scanning functionality.
  2. Day 11-14: Mobile App Development

    • Begin developing the React Native mobile app.
    • Integrate QR code scanning for mobile using React Native Camera.
Week 3 (December 22 - 28): Backend Development
  1. Day 15-18: API Development

    • Create RESTful APIs using Express.
    • Implement user authentication and authorization.
  2. Day 19-21: Database Integration

    • Connect your backend to the chosen database (MongoDB or PostgreSQL).
    • Set up database schemas.
Week 4 (December 29 - January 4): Finalization and Testing
  1. Day 22-24: Authentication, Forms, and State Management

    • Finalize authentication flows.
    • Implement forms using formik for React and react-hook-form for React Native.
    • Set up state management with redux for React and Context API for React Native.
  2. Day 25-28: Integration, Testing, and Deployment

    • Integrate frontend with backend APIs.
    • Perform thorough testing (unit tests, integration tests).
    • Deploy the applications on cloud services (AWS, Google Cloud, or Azure).
Week 5 (January 5 - 10): Polishing and Deployment
  1. Day 29-30: Feedback Forms, Social Media Sharing, and Final Checks

    • Implement feedback forms and social media sharing functionality.
    • Conduct final checks, bug fixes, and optimizations.
  2. Day 31 (January 10): Project Completion

    • Wrap up any remaining tasks.
    • Deploy the finalized project.
    • And start working on the Research Work

Ensure that each task is broken down into manageable sub-tasks, and regularly review progress to identify and address any challenges. It's also advisable to allocate buffer time for unexpected issues that may arise during the development process. Communication within your development team is key to meeting deadlines effectively.
Given that digital accessibility varies in Rajasthan, it is imperative to account for users without consistent digital access by incorporating an offline mode we provide other feedback submissions.

Paper-based Feedback Form: 

Introduce a simple, paper-based feedback form with easy-to-fill multiple-choice questions.

Telephone Feedback System: 

Establish a toll-free hotline for anonymous feedback submission, ensuring accessibility for those less digitally literate.

Feedback Boxes: 

Install secure boxes at varying distances from police stations for anonymous written feedback submissions.

Printed Information for Awareness: 

Disseminate banners, posters, and brochures to raise awareness about the feedback mechanisms.