Skip to content

mudssrali/uneebee

 
 

Repository files navigation

UneeBee Banner

Open-source alternative to create interactive courses like Duolingo.
Learn more »

Cloud . Roadmap . Community

About this project

Interactive learning is more effective than traditional methods. Learners remember 10% of what they hear, 20% of what they read but 80% of what they see and do. That's why 34 hours of Duolingo are equivalent to a full university semester of language education.

We love Duolingo. We think those kind of interactive experiences should be used in more fields. That's why we're building UneeBee, an open-source platform to create interactive courses like Duolingo. You can use it at your organization, school, or using our marketplace to share your experience in a fun way.

Tech stack

We're deploying our cloud products to Fly and Neon.

Getting started

Follow the instructions below to get UneeBee up and running on your local machine. We have a Dockerfile but that's used for deploying our demo app to Fly. We don't have a Docker setup for local development yet. PRs are welcome!

Requirements

  • You need Elixir 1.15 or later and Erlang 26 or later. Run elixir -v to find your current version for Elixir and Erlang.
  • Install Hex: mix local.hex.
  • Install Phoenix: mix archive.install hex phx_new.
  • PostgreSQL 15+.
  • (Linux users only): inotify-tools.

Local development

  • Run mix setup to install both dependencies and set up both the database and assets.
  • Run mix seed to fetch some initial data to the database (See options).
  • Run mix phx.server to start a development server.
  • Run mix test to run tests.
  • Run mix ci to run our code quality checks.
  • Run mix locale to update translation files.

SSL on localhost

Prefer to do local development using SSL to resemble production as much as possible. You can use mkcert to generate a certificate. After you install mkcert, follow the steps below:

  • Create a cert directory under priv: mkdir priv/cert.

  • Generate a new certificate: mkcert -key-file priv/cert/selfsigned_key.pem -cert-file priv/cert/selfsigned.pem localhost uneebee.test "*.uneebee.test" apple.test.

  • Run mkcert -install to install the certificate in the system trust store.

  • You may also need to enable Allow invalid certificates for resources loaded from localhost on Google Chrome flags.

  • Restart your local server: mix phx.s