POLYGLT is a peer to peer, language learning, webapp built as a final project at Makers Academy, a highly selective, 12 week full-time programme that teaches web development in London.
POLYGLT was written using Ruby on Rails 4.
Using the devise gem users sign up and log in, create a language profile to select their native language and the language they want to Learn.
POLYGLT uses a matching algorithm to match the native language of one user against the languages to learn of the user pool, and vice versa, creating a list of "matched users" for each user.
The user can then message one of their matches and book a 1-to-1 lesson with a selected topic, utilising the bookable and mailboxer gems. Each chosen topic has a selection of questions as prompts for each lesson.
The 1-to-1 lessons use live video chat via built in webcam and realtime text chat. This is achieved through websockets and SimpleWebRTC. This allows the use of a TURN server and removes the need for increased server hosting by POLYGLT. The use of SimpleWebRTC and a TURN server allows peer-to-peer connections while maintaining a secure connection.
During the 1-to-1 lesson, half of the lesson's allocated time is designated to speaking each of the users native languages. In this way one user will be a student and the other a teacher.
After each lesson, users rate each others progress and receive their own ratings. These rating can be seen by all users and determines whether the topic has been completed by that user.
In this way POLYGLT provides a social network for immersive language learning.
##About
- Ruby
- Ruby on Rails
- Javascript
- JSON
- JQuery
- CSS 3
- SCSS
- HTML 5
- PostgreSQL