/SmallTalk

Small Talk Informal Language Learning App

Primary LanguageJavaScriptMIT LicenseMIT

SmallTalk: a small way to break big barriers

Small Talk Informal Language Learning App

Demo

##App Design:

  • The SmallTalk platform has three parts: an API and a web-based UI for mobile phones, and a content management system (CMS) with lesson plans.
  • SmallTalk is written using Microsoft ASP.Net as a backend with a responsive HTML5 frontend using AngularJS and Bootstrap.
  • SmallTalk is designed to run mainly on smartphones. The prototype is web-based, but a native app can talk to the same API.
  • The SmallTalk API/app is distinct from the English+Cultural lesson plan CMS. Units of content in SmallTalk link to lesson plans by URL.
  • This database diagram shows the things the SmallTalk tracks:

User Flow Diagram

Key Concepts:

  • Profile: students and mentors create a profile which have basic demographic and availability information
  • Lesson: an appointment to meet on a specific date and location to discuss a unit
  • Unit: a link to a lesson plan in an external CMS.
  • Student Progress: the history of units that a student has covered. This helps mentors know what to cover next
  • Availability: a profile section with the days of week, and time of day (morning, afternoon, evening) that mentors and students can meet at, and a list of prefered locations.
  • Location: a list of addresses to meet up. They are curated by the client organization. The app tracks how many times each location is used to recommend locations for lessons.
  • Lesson Rating: after each lesson, the student and mentor are asked to rate each other. There are two ratings:
    • Content Mastery Rating: how well the material was learned (1-4 stars). This is used to help mentors in future lessons
    • Mentor/Student Review: feedback on the mentor/student (1-4). Review use to highlight especially good or problematic students/mentors
  • Language Level: students indicate whether they are begginer, intermedia or advanced learners in their profile.

Preview The Data

API Documentation

Technical Details

  • The app uses ASP.Net MVC 4.6.1
  • The API uses Web API 2.0 with attribute routing
  • The frontend uses AngularJS+Bootstrap
  • The data access layer uses Entity Framework + SQL Server
  • The demo app is hosted with Amazon Web Services
  • This app is designed to be easily scalable, as the frontend is static HTML files, and the API backend can be scaled to a load-balanced backend.

TODO's

  • This prototype does not implement session security.
  • An administrative backend is not included.
  • A CMS for editing lesson plans. MediaWiki can be used to provide a ready-made collaborative content editing.