Giter VIP home page Giter VIP logo

coursemology2's Introduction

Coursemology CircleCI

Code Climate codecov Security Inline docs Slack

Coursemology logo

Coursemology is an open source gamified learning platform that enables educators to increase student engagement and make learning fun.

Setting up Coursemology

System Requirements

  1. Ruby (>= 2.5.3)
  2. Ruby on Rails
  3. PostgreSQL (>= 9.5)
  4. ImageMagick or GraphicsMagick (For MiniMagick - if PDF processing doesn't work for the import of scribing questions, download Ghostscript)
  5. Node.js (<= 9.6)
  6. Yarn

Coursemology uses Ruby on Rails. In addition, some front-end components use React.js. This guide written by the awesome people at GoRails should help you to get started on Ruby on Rails.

Getting Started

  1. We use submodules in the git repo; use this command to update submodules:

    $ git submodule update --init --recursive
  2. Download bundler to install dependencies

    $ gem install bundler
  3. Install ruby dependencies

    $ bundle install --without ci:production
  4. Install javascript dependencies

    $ cd client && yarn; cd -
  5. Create and seed the database

    $ bundle exec rake db:setup
  6. Start webpack and the development app server

    $ foreman start

    Or if you are not using foreman:

    # Start the webpack dev server:
    $ cd client && yarn build:development
    
    # Run this command to compile the assets before running the test suite.
    $ cd client && yarn build:test
  7. You're all set! Simply login with the default username and password:

Email: [email protected]

Password: Coursemology!

Configuration

Multi Tenancy

To make sure that multi tenancy works correctly for you, change the default host in config/application.rb before deploying:

config.x.default_host = 'your_domain.com'

Opening Reminder Emails

Email reminders for items which are about to start are sent via a cronjob which should be run once an hour. See config/initializers/sidekiq.rb and config/schedule.yml for sample configuration which assumes that the Sidekiq and Sidekiq-Cron gems are used.

If you use a different job scheduler, edit those files so your favourite job scheduler invokes the ConsolidatedItemEmailJob job once an hour.

Found Boogs?

Create an issue on the Github issue tracker or come talk to us over at our Slack channels.

Contributing

We welcome contributions to Coursemology! Check out the issue tracker and pick something you'll like to work on. Please read our Contributor's Guide for guidance on our conventions.

If you are a student from NUS Computing looking for an FYP project, do check with Prof Ben Leong.

License

Copyright (c) 2015-2021 Coursemology.org. This software is licensed under the MIT License.

Using Coursemology

You're more than welcome to use Coursemology for your own school or organization. If you need more help, join our Slack channel to reach our core developers.

We are actively running Coursemology and can provide free use of our infrastructure on a case by case basis. Please contact Prof Ben Leong if you would like to explore this option.

Acknowledgments

The Coursemology.org Project was made possible by a number of teaching development grants from the National University of Singapore over the years.

coursemology2's People

Contributors

lowjoel avatar allenwq avatar fonglh avatar weiqingtoh avatar kxmbrian avatar jeremyyap avatar trangmei avatar deppbot avatar yichenshen avatar dependabot-support avatar zhuhanming avatar dependabot-preview[bot] avatar raymondtangsc avatar jsyeo avatar xzhflying avatar louietyj avatar nicholette avatar zhengwei143 avatar dariusf avatar makqien avatar depfu[bot] avatar jchiam avatar custode avatar dependabot[bot] avatar ekowidianto avatar justwudi avatar minhtule avatar dexterleng avatar huangjosh avatar caramelcat avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.