Blackboard-lms is a LMS platform tailored to meet the training demands of the hotel and hospitality industry. Blackboard-lms is an open-source project developed using the Ruby On Rails framework.
Clone the repo and install the dependencies as follows
You can either to the PostgreSQL documentation or use package manager of your OS to install postgres. On macOs you can use Postgress.app for easy setup.
sudo docker run -d --name postgresql -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=blackboard_development -p 5432:5432 postgres:15.4-bookwormYou can refer to this and install redis. Start the redis server in your local machine
sudo docker run -d --name redis -p 6379:6379 redis:7.2.6-alpineThe first step is to install ruby. In order to install ruby use rbenv or rvm so that you can easily manage the different ruby versions.
Using rbenv or rvm is a personal preference. To use rbenv go to rbenv and for rvm you can go here
After installing ruby clone the repo and then you can follow the steps below to setup the application.
$ gem install bundler
$ brew install imagemagick$ sudo apt install imagemagick
$ brew install ffmpeg
$ sudo apt install ffmpeg
$ export EDITOR="code --wait"
# or
$ export EDITOR="vim --wait"Copy the contents of config/credentials.yml.enc.example file and generate your master key and edit the credential file
$ rails credentials:editReplace the editor content with the copied content, edit and save then close the file.
You can either install husky or use the git command below to setup the git precommits hooks
git config core.hooksPath .huskyTo install Rails dependencies and seed the database by running:
./bin/setupStart the server by executing following command.
bin/devMake sure you have setup the test environment as mentioned in the earlier section
You might need to create the db first before running the tests This usually happens while running ./bin/setup. But incase the db is not created run the following command to create the database.
$ bundle exec rails db:create -e test$ bundle exec rspec
$ bundle exec rspec -f d # view test descriptions
$ bundle exec rspec -f d --tag focus # view test descriptions and run only focussed sections, usefull for debuggingNote: prefix bundle exec if you are unable to run it using rspec
You can run guard to keep running the tests during TDD.
$ guard
Install docker in your local and then build and run the application locally as follows
You can build the containers using docker compose build command
docker compose up to run the application using docker in local. Docker compose up run the application in a new environment called docker. Therefore you need to do some additional setup like generating a master key and setting the RAILS_MASTER_KEY in Dockerfile for the docker environment.