ReachOut
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:
|
The web-app has 3 access levels implemented
- User
- Admin (Government)
- Company
Flow for the User Access Level
Flow for the Admin Access Level (Government)
Flow for the Company Access Level
Flowcharts for the Model
🔗
Links
Frontend (Vercel)
- ReachOut
🚀
Assets
Backend (Heroku)
🤖
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
- Clone the GitHub repo
$ git clone https://github.com/saRvaGnyA/ReachOut-SIH-Prototype.git
- 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
- 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
- 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
- Clone the GitHub repo
$ git clone https://github.com/devdev29/reachout_gesture_api.git
- 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
- Look for requirments.txt and install the packages.
$ pip install -r requirements.txt
For the FastAPI
- Look for the
main.py
andruntime.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
- Go to the
client
directory and run thedev
script to activate the development server$ npm run dev
lint
script and fix any linting errors$ npm run lint
.env
file in theclient
directory with the following contents:SKIP_PREFLIGHT_CHECK = true
For the model and for the FastAPI
-
Locate to the
Model
directory. The models for the project are ingesture_model.tflite
file. -
Open the command prompt for anaconda and switch to the virtual environment that you created. (example: test)
$ conda activate test
-
To initiate the server, type the following in the command prompt
$ python main.py