Skip to content

zakharoff/udem-rails

Repository files navigation

Udem-rails

https://udem-rails.herokuapp.com (the site may take a long time to open, because uses the free option on heroku)

A simple platform for creating courses with lessons and the ability to take them. For sell coursess using payments - stripe, but still can make free couses.

Build with Ruby on Rails 6.

More Screenshots

Main options

  • Sign in with devise (including OAuth: Google, GitHub)
  • User roles: admin, teacher, student
  • Create course
  • Create lessons
  • Create comments for lessons
  • Create review for course
  • Create tags for course
  • Search and sorting courses
  • Buy course with stripe
  • Student get pdf Certificate when completed course
  • Approve/unappruve curses by admin
  • Statistics of pays
  • Analytics for pyas, registratios, etc.
  • Log of Activity on platform
  • Profile of user
  • Upload files with AWS S3 (commented for economy heroku hosting)
  • Paste emembed video from Youtube
  • Dynamic title for pages
  • Google analytics
  • Sitemap generator
  • Bootstrap 4 layout

Install

Clone the repository

$ git clone git@github.com:romka69/udem-rails.git
$ cd udem-rails

Check your Ruby version

$ ruby -v

The ouput should start with something like ruby 2.7.1

If not, install the right ruby version using rvm (it could take a while):

$ rvm install 2.7.1

Install dependencies

Using Bundler and Yarn:

$ bundle
$ yarn

Set environment variables

Using Rails credentials. Remove file config/credentials.yml.enc, then make

$ EDITOR=nano rails credentials:edit

complete with the openned file as in the example config/credentials.sample

Initialize the database

$ rails db:create db:migrate db:seed

Developing

$ rails s

Deploy with Heroku

Push to Heroku production remote:

$ git push heroku

Screenshots

If screenshots are not displayed, then they were removed by the hosting. Screenshots are duplicated in the folder . /screenshots

Main page

Courses page

Course page

Lesson page

PDF Certificate

Users page

User page

Pays page

Activity logs page

Analytics page

Privacy page

Generated erd schema