All Projects → pwnall → igor

pwnall / igor

Licence: MIT License
Course homework submission site

Programming Languages

ruby
36898 projects - #4 most used programming language
HTML
75241 projects
CSS
56736 projects
python
139335 projects - #7 most used programming language
coffeescript
4710 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to igor

rails-app-best-practice
Rails app structure example
Stars: ✭ 37 (+184.62%)
Mutual labels:  rails-application
fuzzing-seed-selection
"Seed Selection for Successful Fuzzing" artifact (at ISSTA 2021)
Stars: ✭ 29 (+123.08%)
Mutual labels:  software-testing
LocalSupport
A directory of local support services and volunteer opportunities
Stars: ✭ 60 (+361.54%)
Mutual labels:  rails-application
active endpoint
[ARCHIVE] 🔧 ActiveEndpoint is middleware for Rails application that collect and analize request and response per request for route endpoint. It works with minimum affecting to application response time.
Stars: ✭ 13 (+0%)
Mutual labels:  rails-application
openbsd-tests
Unofficial OpenBSD regression tests
Stars: ✭ 22 (+69.23%)
Mutual labels:  software-testing
ToDoInterviewTest
Interview Test using a To Do List
Stars: ✭ 27 (+107.69%)
Mutual labels:  software-testing
tg
Trident Genesis
Stars: ✭ 14 (+7.69%)
Mutual labels:  software-testing
jdbdt
JDBDT: Java Database Delta Testing
Stars: ✭ 12 (-7.69%)
Mutual labels:  software-testing
railsdevs public
A ruby on rails application I'm building in public for Ruby and Rails developers
Stars: ✭ 21 (+61.54%)
Mutual labels:  rails-application
ceu-cloud-class
This is the repo for the Data Engineering 3 - Cloud and Big Data Computing course delivered at the Central European University ceu.edu
Stars: ✭ 15 (+15.38%)
Mutual labels:  courseware
timebot
🤖 Timebot is a Slack bot for helping with everyday timesheet
Stars: ✭ 24 (+84.62%)
Mutual labels:  rails-application
planning-poker
Effective Planning Poker sessions for remote teams
Stars: ✭ 29 (+123.08%)
Mutual labels:  rails-application
BUPT-ICS-Courseware
北京邮电大学 数学系 信息与计算科学专业 课件
Stars: ✭ 76 (+484.62%)
Mutual labels:  courseware
Rails-Application-Template
Base template for creating rails applications.
Stars: ✭ 18 (+38.46%)
Mutual labels:  rails-application
StressThing
a software testing platform to perform stress test on web of things
Stars: ✭ 12 (-7.69%)
Mutual labels:  software-testing
competiwatch
Web app to track and visualize your competitive match history in Overwatch.
Stars: ✭ 17 (+30.77%)
Mutual labels:  rails-application
software-testing-resource-pack
Various files useful for manual testing and test automation etc.
Stars: ✭ 38 (+192.31%)
Mutual labels:  software-testing
docker
A simple guide to get you started on docker. (Might be outdated but it should still give you a basic overview.)
Stars: ✭ 21 (+61.54%)
Mutual labels:  rails-application
translation-server
Stores translations with location and screenshot. Enable users to easily edit translations and then any rails/react application can use them.
Stars: ✭ 26 (+100%)
Mutual labels:  rails-application
food-rescue-robot
A Rails App for Managing "Just in Time" Food Rescue, Developed by/for Boulder Food Rescue in Boulder, CO, USA
Stars: ✭ 47 (+261.54%)
Mutual labels:  rails-application

Igor

Course homework submission website.

Build Status

Prerequisites

The site requires access to a Docker Swarm cluster, a very recent Ruby and node.js, and a few libraries.

Docker can only be installed directly on Linux, and is now packaged natively by every major distribution. docker-machine can be used to get access to a Docker daemon on Mac OS X.

The recommended way to get Ruby set up is via rbenv and ruby-build.

The recommended way to get Node set up is via nvm.

The recommended way to get the libraries is your system's package manager, or Homebrew on Mac OS X.

Mac OS X

The following commands install the prerequisites on OSX, using Homebrew.

xcode-select --install
brew bundle install
ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/openssl
TOKEN=$(docker-swarm create)
docker-machine create --driver virtualbox --engine-storage-driver overlay \
    --swarm --swarm-master --swarm-discovery "token://$TOKEN" swarm-master
docker-machine create --driver virtualbox --engine-storage-driver overlay \
    --swarm --swarm-discovery "token://$TOKEN" swarm-agent-1
docker-machine create --driver virtualbox --engine-storage-driver overlay \
    --swarm --swarm-discovery "token://$TOKEN" swarm-agent-2

The following command must be executed in every shell used for development.

eval "$(docker-machine env --swarm swarm-master)"

Linux

Use your package manager to install the prerequisites listed in the web_frontend Ansible role.

Vagrant

The following commands quickly set up a Vagrant environment that matches the production setup.

ansible-playbook -i localhost, -e os_prefix=vagrant -e worker_count=2 \
    -e use_certbot=no deploy/ansible/keys.yml
vagrant up

The details behind these commands are explained in the deployment guide. The Vagrant environment can be used to test Docker-related features and playbook changes.

OpenStack

The deployment guide can be used to bring up a testing cluster, which can come in handy when testing Docker-related auto-grading functionality. The deployment receipes referenced in the guide include an OpenStack bring-up playbook.

TryStack is a public OpenStack cluster intended for testing, and therefore can be used to test out any playbook changes.

Installation

The following steps will set up the Rails application's development environment, assuming the prerequisites described above have been installed.

git clone https://github.com/pwnall/igor.git
cd igor
rbenv install $(cat .ruby-version)
nvm install stable
gem install --force rake
gem install bundler
bundle install
npm install
rake db:create db:migrate
rake bower:install

The command below runs the development server. Ctrl+C stops it.

foreman start

The first user registered on the system automatically receives administrative privileges. Course specifics can be configured by selecting Setup > Course in the left-side menu.

Development

Seed the database to get a reasonably large data set that covers the most used cases. Seeding will crash without access to a Docker daemon.

rake db:seed

The seeded database has [email protected] set up as an admin, with the password mit.

The comments at the top of the model files are automatically generated by the annotate_models plugin. Re-generate them using the following command.

bundle exec annotate

To run integration tests that require Javascript/XHR, install PhantomJS 1.9.8. Uploading files is broken in version 2.0. For Mac users, use the following Homebrew command.

brew install homebrew/versions/phantomjs198
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].