A sleek and customizable website template designed for effortless self-hosting of your online course. this template provides a user-friendly foundation for educators and content creators to showcase their expertise.
Use the following credentials for testing the demo:
Username: admin
Password: ecourseadmin
UI Framework - Svelte
Styling - TailwindCSS
Icons - Iconify
Frontend Hosting - Cloudflare Pages
Backend - PocketBase
Backend hosting - PocketHost
The easiest way to get started is to run this project locally, simply run the following commands in your desired directory.
# Clone this repository
git clone https://github.com/Ilyas-Codes/eCourse.git
# Ignore the 'server' directory in Git
cd eCourse
echo "server" > .gitignore
git rm -r --cached server
git add .gitignore
git commit -m "Ignore the 'server' directory"
# Start the PocketBase server
cd server
./pocketbase serve
# Open up the Admin UI and sign in with the following credentials: admin@ecourse.com & ecourseadmin
# Start the vite server
cd client
npm install && npm run dev
All the landing page content (logo, hero headline etc) can be customized from the config.json
file in the client/src
directory.
You can also change the accent and background colors used throughout the app from the tailwind.config.js
file in the client
directory.
The PocketBase backend can basically be treated as a CMS for managing your course's content, the demo provided in this repo comes with 2 collections "modules" & "lessons" which include some placeholder data, you can simply change the data with your own. and you're good to go!
The most straightforward method to deploy eCourse is by running the command npm run build
in the client
directory. This command spits out a dist
folder containing an optimized and production-ready bundle. after that, you can create a pb_public
directory within the server
directory and place the contents of the dist
folder inside of there. With these steps completed, you are now ready to deploy your entire application, encompassing both the frontend and backend, on any cloud service provider. For those seeking free alternatives, consider PocketHost and Fly.io.
Make sure to replace the VITE_PROD_PB_URL
env variable in the .env
file within the client
directory with the production server URL where your PocketBase instance is hosted.
Feel free to open an issue/PR if you find any bugs or want to request new features.
Licensed under the MIT License, Copyright © 2023
Besides contributing free stuff to the community, I'm also available to assist others in launching their apps and MVPs. If you're considering hiring a frontend dev (can do some backend too), feel free to DM me on Reddit or Leave me an Email.