Git Product home page Git Product logo

vocab's Introduction

Vocab - Foreign Vocabulary Learning App

should be available here. Registration is disabled, since it runs on a free GCP machine, if you want to try it, throw me a mail.

tech stuff

kubernetes

The chosen environment is k8s because why not. I wanted to try it. I'm planning on cleaning up the k8s configurations, they are not in a good shape at the moment, sorry for that.

vocab-core

stack: java, quarkus, gradle.

This application communicates with our db, defines our data-model and provides REST endpoints for limited CRUD features via open-api, could be used for authentication but it is not authorizing requests.

If you don't know quarkus, it's a very spring like framework but smaller, built by RedHat and has greater performance accoring to some people. I chose this again, because I wanted to try it.

vocab-front

stack: qwik

This application responsible for providing UI. It is useable already but has long way to go implementing some extra features to have this project rounded up.

If you don't know Qwik, it is a react like framework, but has some truly amazing improvements and I choosed it, because - you guessed it; I wanted to try it.

some whys

The goals of this application is to implement a specific foreign vocabulary building method with the adaquate suppporting features like authentication.

In this specific foreign vocabulary building method, every word in the user's vocabulary has a main metric which is the confidence score, this metric tells us how confident is the user in the specific word. This metric is effected by the correctness of the user's answares, the timespan between questions and it also can be affected by other minor things.

Words are getting into the user's vocabulary with '0' confidence score and with 'a-b-c-d option questions' the user builds their score up the point where they will be tested with an open (free-text) question.

Generaly the words will appear less and less in questions as their confidence score builds up, but there could be different question providing algorithms.

currently we have two:

  • weak words words with low confidence score.
  • old words words that weren't asked in the near past.

and we also have plans on implementing:

  • new words words that weren't asked as much as others.

Users can and supposed to have multiple vocabulary sets, which will provide the pool for the chosen algorithm to generate questions from. The user cannot choose a specific set to study but can specify which sets should not be used to generate questions. This may seem like a minor but odly specific rule, but it has it's reasons;

  • This way the user can always bring in new words while also getting more comfortable with older words in their vocabulary, which provides a more seemless experience.
  • Users are not forced to choose which set they want to learn, so they have an easier time to go learn.
  • This provides larger pools of words to generate questions from which is useful for smarter algorithms.

Users can share their vocabulary sets which makes them searchable, so other users can add them to their own collection.

vocab's People

Watchers

 avatar

vocab's Issues

Clean k8s configurations

We want to be able to have a ready-to-go configurations for these environments:

  • dev - local dev envionment: everything is running inside the ide, no docker or k8s is used.
  • dev-k8s - local k8s envionment: everything is running inside a local k8s.
  • prod - gcp k8s environment - w/ managed postgres

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.