Giter VIP home page Giter VIP logo

psittacus's Introduction

Psittacus

Psittacus iratus linguas docet ๐Ÿฆœ

The angry parrot teaches languages ๐Ÿฆœ

What is it?

Psittacus is a lightweight, open-source tool, meant to facilitate language-learning and teaching, and with a vision to empower teachers and learners of any written+spoken language around the world.

Psittacus is based on the gamification of the sentence-mining approach, having an interface vaguely inspired by that of Duolingo and other competing interactive language learning-tools.

Psittacus aims at democratizing the process of language-learning and teaching, making it easy for teachers to prepare and collaborate on their own lessons, and share them in a standardized and easily accessible format.

Whom does it appeal to?

  • Language lovers in general. ๐ŸŒ
  • Teachers of any language that need to share quick homeworks/lessons with their students. ๐Ÿ“š
  • Speakers of endangered languages that wish to preserve and spread their native tongue. ๐ŸŒฑ ๐Ÿ“ผ
  • Conlangers that want the world to learn their constructed language. ๐Ÿค“
  • And many more...

What are some of its main features?

  • Simple interface for lang-teachers to prepare lessons.
  • Possibility to edit and extend existing lessons.
  • Lessons are stored in an easily shareable format.
  • Lessons can be taken fully offline, once downloaded/sideloaded.
  • Support for audio playback of sentences.
  • Support for hover-over-the-word definitions.
  • Support for spaced repetition strategies and automatic lesson scheduling.

Link to Web-App

https://psittacus.eu.pythonanywhere.com/

Demo

https://youtu.be/estAGLc3uoE

Take Test Lesson

Download this test lesson-file and try it out on Psittacus (open it with "Take Lesson" on the main-menu of the web-app). Watch the Demo for more help.

Details

Lesson File Format

Lesson File Format

A 'lesson' comprises: sentence-pairs, word-definitions and audio-data. Each single lesson is made up of multiple 'propositions'. Each proposition expresses an idea in two different languages. The information of a lesson is stored in the widely-known json format, and can be shared as a simple text file.

The structure of a lesson-json is the following:

Lesson

Metadata looks like this:

Metadata

Each proposition has the following structure:

Proposition

Testing

To build this web-app:

(You have to have yarn or npm installed).

1. Clone this repo:

... and open up its directory.

2. Install the dependencies:

yarn:

yarn install

npm:

npm ci

Use ci (clean install) instead of npm i, to make sure you're building the project with the exact tested dependencies from package-lock.json, and not overwriting them.

3. Build:

yarn run build

4. Run:

Copy and paste the full path of:

/psittacus/dist/index.html

... to your browser's navigation bar.

Debugging:

  • Use:
yarn run dev-build

to generate an un-minified developer build (easier to debug).

Contributing

Adding a Language

To propose your change feel free to post a pull request.

Experimental

Automatic Lesson Generator

For more info:

./palg/README.md

Credits

Images/Sounds

psittacus's People

Contributors

aiman-al-masoud avatar pakzer0 avatar rickyycheng avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.