Open-source alternative to create interactive courses like Duolingo.
Learn more »
Cloud
.
Roadmap
.
Community
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.
We're deploying our cloud products to Fly and Neon.
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!
- You need
Elixir 1.15
or later andErlang 26
or later. Runelixir -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.
- 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.
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 underpriv
: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