CourseLit
Sell online courses and digital downloads from your own website.
An open source alternative to Teachable, Thinkific, Podia and the likes.
Website | Documentation | Roadmap
A modern LMS for everyone
CourseLit is a batteries included learning management system (aka LMS) for everyone. It is an open source alternative to Teachable, Thinkific, Podia, Teachery, LearnDash and the likes.
It comes pre-equipped with all the basic tools you need to efficiently run and administer your online teaching business. Features include course authoring, student management, payment processing (via Stripe), website builder, custom sales pages and analytics (very limited as of now).
Check out this live example to see what you can build with CourseLit. Click here.
Screenshots
1. A real landing page build with CourseLit
2. Admin dashboard
Features
Checkout our documentation for an updated list of features.
Getting started
Visit courselit.app to use the cloud hosted version. Sign up for a free account to get a 14 days trial period to experience the platform without any restrictions. No credit card required.
To self host CourseLit, follow our official guide.
Development
The project is organised as a mono-repo. It uses Yarn workspaces for managing the mono-repo.
To set up the development environment, first clone the project on your local machine and cd
to its diretory.
Then replace the values in .env
file located inside the apps/web
folder with your enviroment's configuration.
Now run the following commands from the root directory of the project.
# Install dependencies
yarn install
# Build the packages
yarn build
# Start the app
yarn dev
That's it! Now you can dive into the code base.
Medialit
CourseLit uses MediaLit as its backend for managing media assets. It is a paid service and you need to have an account on it to store your files in the cloud.
If you do not want to use the cloud hosted version, you can roll your own instance. Add the following config to the .env
file to use your own MediaLit instance.
MEDIALIT_SERVER=medialit_server_location
Writing your own widget
You can add additional functionality to your application via building your own widgets. Have a look at this document.
Environment variables
Have a look at the docker-compose.yml file to know what all environment variables are available for you to tweak.