Skip to content

Latest commit

 

History

History
233 lines (172 loc) · 8.1 KB

README.md

File metadata and controls

233 lines (172 loc) · 8.1 KB

ReachOut
ReachOut

ReachOut - An Accessible software for facilitation of various Govt. schemes for persons with disabilities
Smart India Hackathon '22 - Team TechnoSrats

Table of Contents

📝Description

Our idea “ReachOut” aims to build a progressive web app that makes access for the specially abled to government schemes expeditious and empowers them

The key features of ReachOut:
  • Ease of Accessibility and Navigation for all types of differently abled persons
  • A single platform for all government schemes for the specially abled and their caregivers

The web-app has 3 access levels implemented

  1. User
  2. Admin (Government)
  3. Company

Flow for the User Access Level

image

Flow for the Admin Access Level (Government)

image

Flow for the Company Access Level

image

Flowcharts for the Model

WhatsApp Image 2022-08-26 at 6 13 10 AM

WhatsApp Image 2022-08-26 at 6 12 43 AM

🔗Links

Frontend (Vercel)

Assets

Backend (Hasura and Railway)

🤖Tech-Stack

Web Development

  • NextJS
  • Tailwind CSS

Database

  • PostgreSQL (using Supabase)

APIs

  • Hasura GraphQL API (over the Postgres DB)
  • FastAPI (for the model)

Machine Learning

  • Tensorflow (for gesture detection)
  • Gensim (for document parsing)

📈Progress

Accessibility

  • The entire website is designed with web accessibility (a11y) and GIGW (Guidelines for Indian Government Websites) at the forefront
  • Designing web components using a color-blind friendly scheme and implemented a high-contrast UI
  • Voice and keyboard navigation
  • Speech to Text for search, forms and navigation
  • Gesture Detection for navigation
  • A full-fledged accessibility toolbar for fonts and cursors

Platform

  • A profile for every user, with Aadhar Number, Disability Certificate and Resume details required
  • Govt authorities can add the schemes for the disabled, and the disabled users can benefit from these schemes without leaving the portal
  • Companies can register their job positions, and people with special needs can apply for those jobs, Companies can hire test candidates for accessibility testing of their products
  • Map feature for locating nearby job opportunities
  • SMS Notifications and status updates for the enrolled schemes and jobs
  • Dashboard for Analyzing scheme responses and demographics
  • Backend and Database Connectivity

🔮Future Scope

  • Complete the face ID login
  • Add E-KYC verification on the platform, and all other financial employment-related services from APISetu for streamlining the hiring process
  • Payment Gateway Integration for transparency
  • Upskilling platform based on job requirements
  • Resume Parsing (Partially Implemented)
  • Extend the built system to other aspects of the differently abled's life
  • Translation to regional languages (localization)

🔨Impact

  • Setting the standard for accessibility on government portals by utilizing state-of-the-art accessibility features
  • Streamline the entire process for the user
  • Increase awareness by recommending schemes
  • Improve outreach and transparency of the schemes
  • Social and personal empowerment by extending the same system to private firms and NGOs
  • Enable efficient policy-making by analyzing the data and feedback provided by the platform

🛠Project Setup

For the web-app

  1. Clone the GitHub repo
    $ git clone https://github.com/saRvaGnyA/ReachOut-SIH-Prototype.git
    
  2. Enter the client directory. Install all the required dependencies. Ensure that remove any globally-installed packages like the React CLI, Tailwind CLI, PostCSS CLI or ESLint are uninstalled before proceeding ahead
    $ cd client
    $ yarn add
    
  3. Setup the .env.local file for storing the environment variables. A demo file for this is as follows:
    HASURA_ADMIN_SECRET = your hasura admin key
    NEXT_PUBLIC_SUPABASE_ANON_KEY = your supabase anon key
    NEXT_PUBLIC_SUPABASE_URL = your supabase public url
    
  4. If you are working on Visual Studio Code or WebStorm, it'd be convenient to install the extensions for Prettier and ESLint.

For the model

  1. Clone the GitHub repo
    $ git clone https://github.com/devdev29/reachout_gesture_api.git
    
  2. Create a virtual environment on the anaconda command prompt (Install conda if not installed) and then switch to that virtual environment. Lets say the name of the env is test.
    $ conda create -n test python=3.8 anaconda
    $ conda activate test
    
  3. Look for requirments.txt and install the packages.
    $ pip install -r requirements.txt
    

For the FastAPI

  1. Look for the main.py and runtime.py files and have them ready. (The packages for FastAPI would already be installed when you run command number 3 in the above section)

💻Usage

Once the required setup and installation is completed, you can start developing and running the project.

For the web-app

  1. Go to the client directory and run the dev script to activate the development server
    $ npm run dev
    
    Before pushing any commit, make sure to run the lint script and fix any linting errors
    $ npm run lint
    
    If you get an ESLint, Tailwind or PostCSS version conflict error, make a .env file in the client directory with the following contents:
    SKIP_PREFLIGHT_CHECK = true
    

For the model and for the FastAPI

  1. Locate to the Model directory. The models for the project are in gesture_model.tflite file.

  2. Open the command prompt for anaconda and switch to the virtual environment that you created. (example: test)

    $ conda activate test
    
  3. To initiate the server, type the following in the command prompt

    $ python main.py
    

👩‍💻Team Members