Sell online courses and digital downloads from your own website.
An open source alternative to Teachable, Thinkific, Podia and the likes.
Website | Documentation | Roadmap
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.
1. A real landing page build with CourseLit
2. Admin dashboard
Checkout our documentation for an updated list of features.
Visit courselit.app to use the cloud hosted version. # 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.
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.
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
You can add additional functionality to your application via building your own widgets. Have a look at this document.
Have a look at the docker-compose.yml file to know what all environment variables are available for you to tweak.