diff --git a/README.md b/README.md index 4449e49..8b13789 100644 --- a/README.md +++ b/README.md @@ -1,74 +1 @@ -# SignLanguage -**SignLanguage** is a platform where users can practically learn American Sign Language using machine learning and access videos for over 20,000+ ASL phrases. - - -![signLanguage](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9kxwd6qf4zfy5kworzcu.gif) - - -### App Link 🎉🎉🥳 -https://gestureacademy.webdrip.in/ - -### App Previews & Features - -#### Homepage - -The homepage displays the entire application preview. Users can look up terms for videos and alphabets, as well as play games. - -![Signlanguage Homepage](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b0nqjldx8mjukffs9g41.png) - -#### Phrases Dictionary - -Signlanguage includes around 20,000 phrases from which users can learn ASL. - -![Phrases](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/upd3dcbs0brsti8fxi2c.png) - -![open video](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/96s3xbnddbpumjpmqgfc.png) - -#### Lightning Fast Fuzzy Search - -Users can search for any video from 20,000+ video using the fuzzy search feature implemented using MongoDB Atlas search in the ASL phrases dictionary. - - -![Fuzzy Search](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/im8k3fhse0qeang5bi7j.png) - -![Fuzzy Search play video](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1fwna63j350pgdergcia.png) - - -## Game Of ASL - -Users can play games that have been created using mediapipe and tensorflow machine learning libraries to help them learn and validate their learning. - -### Learn Numbers - -Learn numbers from 0-10 in chronological order with the help of artificial intelligence. - - -### Random Numbers - -Show your hands on screen and AI will try to predict the numbers from 0-10 based on your hand signs. - -![signLanguage](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9kxwd6qf4zfy5kworzcu.gif) - - - -### Permissive License -`MIT License` - -## Background - -YouTube is a great source of knowledge, but its algorithm doesn't promote short videos or videos that entice users. SignLanguage solves this problem by collecting these resources and making them easily accessible through our webapp. This webapp has around 20,000+ curated video phrases and features like fuzzy Search which can help users to learn American Sign Language(ASL) with ease. - -SignLanguage also has a number of games that users can play to practice their ASL fundamentals while having fun. - -### Tech Stack & Libraries Used - -The app is basically built using eleventy js (11ty) for frontend, MongoDb Realm as a backend and mediapipe and tensorflow js for machine learning. - -- Eleventy Js -- Mongo Db -- Mongo Db Realm functions -- Mongo Db Realm HTTPS Endpoints -- Mongo Db Atlas Search -- Tensorflow -- Mediapipe diff --git a/frontend/js/alphabetModels/A-F-Quiz.js b/frontend/js/alphabetModels/A-F-Quiz.js index 0dfdcee..1960efb 100644 --- a/frontend/js/alphabetModels/A-F-Quiz.js +++ b/frontend/js/alphabetModels/A-F-Quiz.js @@ -160,7 +160,7 @@ hands.onResults(onResults); function loadAndRunModel() { async function loadModel() { customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_A-F/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_A-F/model.json" ); } diff --git a/frontend/js/alphabetModels/A-F-Sequential.js b/frontend/js/alphabetModels/A-F-Sequential.js index d9413fe..6aa959e 100644 --- a/frontend/js/alphabetModels/A-F-Sequential.js +++ b/frontend/js/alphabetModels/A-F-Sequential.js @@ -155,7 +155,7 @@ hands.onResults(onResults); async function loadModel() { customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_A-F/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_A-F/model.json" ); } diff --git a/frontend/js/alphabetModels/G-K-Quiz.js b/frontend/js/alphabetModels/G-K-Quiz.js index 7629890..73d66b9 100644 --- a/frontend/js/alphabetModels/G-K-Quiz.js +++ b/frontend/js/alphabetModels/G-K-Quiz.js @@ -154,7 +154,7 @@ hands.onResults(onResults); async function loadModel() { customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_G-K/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_G-K/model.json" ); } diff --git a/frontend/js/alphabetModels/G-K-Sequential.js b/frontend/js/alphabetModels/G-K-Sequential.js index 7f73be2..0fd6766 100644 --- a/frontend/js/alphabetModels/G-K-Sequential.js +++ b/frontend/js/alphabetModels/G-K-Sequential.js @@ -155,7 +155,7 @@ hands.onResults(onResults); async function loadModel() { customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_G-K/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_G-K/model.json" ); } diff --git a/frontend/js/alphabetModels/L-P-Quiz.js b/frontend/js/alphabetModels/L-P-Quiz.js index 8b4f824..ba728a7 100644 --- a/frontend/js/alphabetModels/L-P-Quiz.js +++ b/frontend/js/alphabetModels/L-P-Quiz.js @@ -154,7 +154,7 @@ hands.onResults(onResults); async function loadModel() { customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_L-P/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_L-P/model.json" ); } diff --git a/frontend/js/alphabetModels/L-P-Sequential.js b/frontend/js/alphabetModels/L-P-Sequential.js index a5ab2fd..9c75c04 100644 --- a/frontend/js/alphabetModels/L-P-Sequential.js +++ b/frontend/js/alphabetModels/L-P-Sequential.js @@ -155,7 +155,7 @@ hands.onResults(onResults); async function loadModel() { customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_L-P/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_L-P/model.json" ); } diff --git a/frontend/js/alphabetModels/Q-U-Quiz.js b/frontend/js/alphabetModels/Q-U-Quiz.js index 428b72e..29cd8a9 100644 --- a/frontend/js/alphabetModels/Q-U-Quiz.js +++ b/frontend/js/alphabetModels/Q-U-Quiz.js @@ -154,7 +154,7 @@ hands.onResults(onResults); async function loadModel() { customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_Q-U/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_Q-U/model.json" ); } diff --git a/frontend/js/alphabetModels/Q-U-Sequential.js b/frontend/js/alphabetModels/Q-U-Sequential.js index aebac55..56c5a83 100644 --- a/frontend/js/alphabetModels/Q-U-Sequential.js +++ b/frontend/js/alphabetModels/Q-U-Sequential.js @@ -155,7 +155,7 @@ hands.onResults(onResults); async function loadModel() { customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_Q-U/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_Q-U/model.json" ); } diff --git a/frontend/js/alphabetModels/V-Z-Quiz.js b/frontend/js/alphabetModels/V-Z-Quiz.js index a452a97..e8f12cc 100644 --- a/frontend/js/alphabetModels/V-Z-Quiz.js +++ b/frontend/js/alphabetModels/V-Z-Quiz.js @@ -154,7 +154,7 @@ hands.onResults(onResults); async function loadModel() { customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_V-Z/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_V-Z/model.json" ); } diff --git a/frontend/js/alphabetModels/V-Z-Sequential.js b/frontend/js/alphabetModels/V-Z-Sequential.js index 1131012..0f502fc 100644 --- a/frontend/js/alphabetModels/V-Z-Sequential.js +++ b/frontend/js/alphabetModels/V-Z-Sequential.js @@ -157,7 +157,7 @@ async function loadModel() { // https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_numbers_1-9/model.json // https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_numbers_1-10/model.json customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_V-Z/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_V-Z/model.json" ); } diff --git a/frontend/js/games/ballonPop/a-f/index.js b/frontend/js/games/ballonPop/a-f/index.js index 872a604..e055cc9 100644 --- a/frontend/js/games/ballonPop/a-f/index.js +++ b/frontend/js/games/ballonPop/a-f/index.js @@ -111,7 +111,7 @@ hands.onResults(onResults); async function loadModel() { customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_A-F/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_A-F/model.json" ); } diff --git a/frontend/js/games/ballonPop/g-k/index.js b/frontend/js/games/ballonPop/g-k/index.js index 0d38c75..3e1d725 100644 --- a/frontend/js/games/ballonPop/g-k/index.js +++ b/frontend/js/games/ballonPop/g-k/index.js @@ -108,7 +108,7 @@ hands.onResults(onResults); async function loadModel() { customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_G-K/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_G-K/model.json" ); } diff --git a/frontend/js/games/ballonPop/index.js b/frontend/js/games/ballonPop/index.js index 88b79d7..1470744 100644 --- a/frontend/js/games/ballonPop/index.js +++ b/frontend/js/games/ballonPop/index.js @@ -110,7 +110,7 @@ async function loadModel() { // https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_numbers_1-9/model.json // https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_numbers_1-10/model.json customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_numbers_1-10/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_V-Z/model.json" ); } diff --git a/frontend/js/games/ballonPop/l-p/index.js b/frontend/js/games/ballonPop/l-p/index.js index dbedb8e..2353d6e 100644 --- a/frontend/js/games/ballonPop/l-p/index.js +++ b/frontend/js/games/ballonPop/l-p/index.js @@ -108,7 +108,7 @@ hands.onResults(onResults); async function loadModel() { customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_L-P/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_L-P/model.json" ); } diff --git a/frontend/js/games/ballonPop/q-u/index.js b/frontend/js/games/ballonPop/q-u/index.js index b208a6d..a2ac9b9 100644 --- a/frontend/js/games/ballonPop/q-u/index.js +++ b/frontend/js/games/ballonPop/q-u/index.js @@ -108,7 +108,7 @@ hands.onResults(onResults); async function loadModel() { customModel = await tf.loadLayersModel( - "https://raw.githubusercontent.com/Narottam04/SignLanguage/master/frontend/model/asl_alphabets_Q-U/model.json" + "https://github.com/guptakritarth/SignLanguage/blob/master/frontend/model/asl_alphabets_Q-U/model.json" ); }