Welcome to our E-Learning System! This application is built using Ruby on Rails and offers a comprehensive set of features to facilitate online learning. From video uploads to user progress tracking, this system provides a rich and interactive learning experience for both students and instructors.
- 📹 Video Uploads
- 🖼️ Image Uploads
- 💰 User Payments with Stripe
- 🔒 User Authentication/Authorization
- 👨💼 Admin Dashboard with Chart.js
- 📐 Drag n Drop Interface
- 🔁 User Progress Tracking
- 📝 WYSIWYG Rich Text Inputs
- 🔐 Premium Gated Content
- ✉️ Email Notifications
- 🚢 Fully Deployed Production Ready Build
To install and run the E-Learning System locally, follow these steps:
-
Clone this repository to your local machine:
git clone https://github.com/captainwycliffe/learning_management.git
-
Navigate into the project directory:
cd learning-management
-
Install dependencies using Bundler:
bundle install
-
Set up the database:
bin/rails db:create bin/rails db:migrate
-
Start the Rails server:
bin/rails server
-
Open your web browser and visit http://localhost:3000 to access the application.
If you encounter issues with deployment, ensure that your production environment is properly configured. Here are some common steps for deploying a Rails application:
- Set up your production database (e.g., PostgreSQL).
- Precompile assets:
RAILS_ENV=production rails assets:precompile
. - Configure your web server (e.g., Nginx or Apache) to serve your Rails application.
- Set the appropriate environment variables, especially those required for services like Stripe and email notifications.
- Use a service like Render, Heroku, or AWS to host your application.
If you want access to the admin dashboard, please contact me at captainwycliffe@gmail.com.
Contributions to the E-Learning System are welcome! Feel free to submit pull requests with new features, improvements, or bug fixes.
This project is licensed under the MIT License.
We would like to express our gratitude to the Ruby on Rails community for their invaluable contributions and support. Additionally, we extend our thanks to all the developers and maintainers of the libraries and tools used in this project.