All Projects → gitaalekhyapaul → shikshak

gitaalekhyapaul / shikshak

Licence: other
Academics made Affordable.

Programming Languages

typescript
32286 projects
python
139335 projects - #7 most used programming language
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
shell
77523 projects

Projects that are alternatives of or similar to shikshak

2019-15
Catch My Mind - 웹으로 즐길 수 있는 캐치마인드
Stars: ✭ 19 (+18.75%)
Mutual labels:  socket-io
rust-socketio
An implementation of a socket.io client written in the Rust programming language.
Stars: ✭ 198 (+1137.5%)
Mutual labels:  socket-io
geospatial-storytelling
Visualization of gps tracking data
Stars: ✭ 20 (+25%)
Mutual labels:  matplotlib
socketio-demos
Socket.io Getting Started
Stars: ✭ 44 (+175%)
Mutual labels:  socket-io
m.io
An open source Moomoo.io server implementation
Stars: ✭ 20 (+25%)
Mutual labels:  socket-io
2021-bordeaux-dataviz
Scientific Visualization Crash Course (Python & Matplotlib)
Stars: ✭ 20 (+25%)
Mutual labels:  matplotlib
CNCC-2019
Computational Neuroscience Crash Course (CNCC 2019)
Stars: ✭ 26 (+62.5%)
Mutual labels:  matplotlib
SocketIOSharp
C# implementation of Socket.IO protocol revision 4 client and server.
Stars: ✭ 101 (+531.25%)
Mutual labels:  socket-io
harker-bell
Official bell schedule app
Stars: ✭ 41 (+156.25%)
Mutual labels:  socket-io
realtime-geolocation
Geolocation tracking app with Node.js, Socket.io, & AngularJS
Stars: ✭ 29 (+81.25%)
Mutual labels:  socket-io
scipy-crash-course
Material for a 24 hours course on Scientific Python
Stars: ✭ 98 (+512.5%)
Mutual labels:  matplotlib
Data-Analytics-Projects
This repository contains the projects related to data collecting, assessing,cleaning,visualizations and analyzing
Stars: ✭ 167 (+943.75%)
Mutual labels:  matplotlib
blog-single-user-websocket
Enforcing a single web socket connection per user with Node.js, Socket.IO, and Redis. Sample repository for my article on Medium.
Stars: ✭ 67 (+318.75%)
Mutual labels:  socket-io
jupyter boilerplate
Adds a customizable menu item to Jupyter (IPython) notebooks to insert boilerplate snippets of code
Stars: ✭ 69 (+331.25%)
Mutual labels:  matplotlib
quickmeet
A video chat/meeting webapp using WebRTC and WebSockets. Basically a Google Meet clone + a collaborative Whiteboard.
Stars: ✭ 75 (+368.75%)
Mutual labels:  socket-io
matplotnim
A Nim wrapper for matplotlib
Stars: ✭ 22 (+37.5%)
Mutual labels:  matplotlib
PyEarthScience
The PyEarthScience repository created by DKRZ (German Climate Computing Center) provides Python scripts and Jupyter notebooks in particular for scientific data processing and visualization used in climate science. It contains scripts for visualization, I/O, and analysis using PyNGL, PyNIO, xarray, cfgrib, xesmf, cartopy, and others.
Stars: ✭ 56 (+250%)
Mutual labels:  matplotlib
pymae
Materials for the book "Python for Mechanical and Aerospace Engineering"
Stars: ✭ 56 (+250%)
Mutual labels:  matplotlib
spiced academy--p2p chat
A fun and easy messaging app that allows private conversations through P2P
Stars: ✭ 17 (+6.25%)
Mutual labels:  socket-io
MatplotLibBridge
A bridge to provide the ability to Pharo user to use Python's Matplotlib.
Stars: ✭ 20 (+25%)
Mutual labels:  matplotlib

Shikshak - HackThisFall'20

Academics made Affordable.


A Preview of What Shikshak Is:

Landing page:

Home Screenshot

Calibrating Board on Teacher's End

Calibration Screenshot

Board Preview on the Students Canvas

Preview Screenshot

The problem Shikshak solves

During this pandemic, the online classes and the work from home charades easily consume over 3GB of a person's network data. This might seem normal for a person middle-class or above, but the weekly cost of such a high bandwidth is not viable for everyone, especially for the ones looking for affordable education. This is where "Shikshak" helps the needy. We provide a low-bandwidth solution to attending online classes through our portal. The magic happens in how we transmit the image of the board on which the teacher is writing. We heavily compress it to the format such that there is almost an 85% decrease in internet consumption using our product. From the machine learning perspective following are some challenges we faced: detect corners of the blackboard, make a suitable boundary of the best-suited blackboard as understood by machine learning, define final edges of the blackboard, dot map the pixels to understand the written content on the blackboard.

Challenges we ran into

The major hurdle on the web development side was to configure webRTC in such a way so that students can only use an audio channel for real-time communication with the teacher. The second hurdle was to bring the frames of the teacher's video down to such a format so that net consumption can be decreased.

Features offered by Shikshak

  • Corner Detection

    • Using opencv, imutils to recognise end pooints of the board.
  • Edge Detection

    • Combinations to figure out best possible board-frame and detecting its edges.
  • Pixel Mapping

    • Using canny to transform image to first a Gaussian Blur, and eventually its pixels.
  • Real-time Audio Communication

    • The Teacher is in constant contact with the Student(s) using webRTC audio channels.
  • Efficient & Real-time transmission of data

    • Scanning of the board, generation of pixel array, and real-time transmission of this array via Socket.IO and plotting the pixels on the Students canvas using Canvas API.

Technology Stack and Dependencies

  • ML
    • numpy
    • imutils
    • opencv
    • pickle
    • canny
    • matplotlib
    • scipy.spatial
  • APIs
    • Node.js
    • Express in TypeScript
    • Socket.IO
    • Flask
  • Front-end
    • React.js in TypeScript-XML
    • Tailwind CSS
    • Socket.IO - Client
    • webRTC
    • Canvas API

Thank You!

Contributors

Abhishek Saxena

Abhishek Saxena

Ansh Sharma

Ansh Sharma

Gita Alekhya Paul

Gita Alekhya Paul

Yashvardhan Jagnani

Yashvardhan Jagnani

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].