davemachado / bottlenose

Computer science university course management app.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Bottlenose is a web app for managing assignment submission and grading in computer science courses. It provides a flexible mechanism for automatic grading of programming assignments.

For detailed documentation, see the Wiki.


This is a Rails app, and as such requires Ruby as well as a few other system dependencies.

  • Ruby (see .ruby-version for version)
  • Postgres 9.5.0


Installing postgres should be a matter of a quick conversation with your systems package manager. Once Postgres is installed, configuration simply needs to match the information in config/database.yml. This is where you can configure the username and password for the database connections. The Postgres user who connects for this application should have the permissions to create databases.


The recommended method for getting Ruby install on any system is with rbenv although other tools work just fine as well.

# Install the Ruby determined by the contents of the
# .ruby-version file.
rbenv install

# Ensure Ruby was install correctly. Where <version> is the
# correct version as described in the .ruby-version file.
ruby --version
#=> ruby <version> ...

Once you have Ruby installed, install the Ruby dependencies.

# Install Ruby's package manager "Bundler".
gem install bundler

# If you're using rbenv, you may need to run this command to
# ensure new executables are loaded into your PATH.
rbenv rehash

# Install Bottlenose's dependencies.
bundle install


This application works much like any Rails app. The following are the most common commands for running the server, or interacting with the application. Rails in development mode (the default) will autoload changes, so running the server once is generally good enough. This doesn't apply to some configurations however.

# List all tasks which `rake` can perform.
rake -T
# Create the database.
rake db:create
# Run database migrations.
rake db:migrate
# Drop the databse.
rake db:drop

# List the routes for this application.
rake routes

# Run the server.
rails server
# Run a console.
rails console
ezoic increase your site revenue


Computer science university course management app.

License:GNU Affero General Public License v3.0


Language:Ruby 69.4%Language:HTML 22.6%Language:C 2.0%Language:CoffeeScript 2.0%Language:Shell 1.9%Language:CSS 0.9%Language:Perl 0.7%Language:JavaScript 0.4%Language:Makefile 0.1%