Git Product home page Git Product logo

doubtfire-deploy's Introduction

Doubtfire Logo

Doubtfire Deploy

A modern, lightweight learning management system.

The Doubtfire Deploy repository is used to manage releases of Doubtfire using containers.

More details soon...

How to use this project for development

cd doubtfire-api
docker compose build


# Open up to 3 terminal windows in doubtfire-api folder
# In terminal 1
docker compose up

# To listen for incoming responses from Overseer
# In terminal 2 run
docker compose exec doubtfire-api bundle exec rake register_q_assessment_results_subscriber

# Use terminal 3 to interact with system... eg
# Example 1: setup database (only essentials)
docker compose exec doubtfire-api bundle exec rake db:init

# Example 2: setup database (with units, students, and work in progress)
docker compose exec doubtfire-api bundle exec rake db:reset db:migrate db:populate db:simulate_signoff

# Example 3: convert submissions to PDF
docker compose exec doubtfire-api bundle exec rake submission:generate_pdfs

# Example 4: run unit tests (all)
docker compose exec doubtfire-api bundle exec rake test

# Example 5: run unit tests (single file)
docker compose exec doubtfire-api bundle exec rake test test/models/break_test.rb

# Example 6: run unit tests (single test)
docker compose exec doubtfire-api bundle exec rake test test/models/break_test.rb test_breaks_not_colliding

# Example 7: create a new migration
docker compose exec doubtfire-api bundle exec rails g migration migration-name

# Example 8: get interactive rails terminal
docker compose exec doubtfire-api bundle exec rails c

# Example 9: restart overseer
docker compose exec doubtfire-api bundle exec rails g migration migration-name

How to use this project for releasing new versions

Once you have a working product in the development environment described above, the next step is to prepare a release.

  1. Commit and push everything. Make sure that all sub modules, and the deploy project are up to date and have all of the changes you want included.
  2. Make sure that each sub module has incorporated any other changes from development into its branch.
  3. Run build.sh this will prepare local containers that mirror those that will be made available to deployments.
  4. Test the local containers - run docker compose up from the doubtfire deploy project root. You can test the solution using http://localhost:3000/
  5. Make any necessary changes to correct issues identified. Repeat 3, 4, and 5 until you are ready to release.
  6. Run release.sh

How to use this project for deployment

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.