Skip to content

obedtandadjaja/Advising

Repository files navigation

Covenant College Course Scheduler

A Couse Scheduler web application I made for my college so that students can schedule their classes without their advisors. I made this using Ruby on Rails and experimented with Google’s new materialize design pattern, which I grow to love.

This project is hosted on heroku at covenantadvising.herokuapp.com

Screenshot

For Developers

Email me for any errors: obed.tandadjaja@gmail.com or obed.tandadjaja@covenant.edu

Visit the Github wiki of this project for coding guidelines

How to get the application running:

  • Ruby version - make sure you have the newest version of ruby

  • Installed Rails - if you haven’t then go to this link railsapps.github.io/installing-rails.html and follow the instruction

  • System dependencies - as long as you have a running laptop

  • Configuration - none at this moment, the app is going to run under development state (ENV=develop)

  • Database creation + initialization: type rake db:drop db:seed db:build

    - rake db:drop -- drops the current database if exists
    - rake db:seed -- seeds the tables; right now the only seed is the test user (email: test@test.com, password: testing). Later on we need to seed in the courses, majors, minors, distributions and their connection to each other.
    - rake db:build -- creates the database, migrates the tables, loads the courses, its prerequisites, majors and its courses, and minors and its courses.
    
    To access the database simply type "mysql -uroot" in the command line. However, make sure that mysql is installed on your computer to do this.
    -> once in mysql, type "use Advising_development;" to set a default database to be "operated" on
    -> type "exit" to exit mysql
  • How to run the test suite

    To run the RoR application, do the following:
    - go to the directory of the project
    - run command "bundle install"
    - to start the RoR server, simply type: "rails server"
    - look at the port listed on your command line and go to your browser, type in: "http://localhost:_port_/" - replace _port_ with the port listed in your command line
  • Other useful commands

    To know all the routes of the app
    - rake routes
    
    To generate a model
    - rails generate model model_name
    
    To generate a controller
    - rails generate controller controller_name
    
    Shortcut to running the many rake tasks we have
    - rake db:build
    - right now db:build encompasses the following rake tasks in this order:
        - db:create
        - db:migrate
        - db:load_courses
        - db:load_cos_concentrations
        - db:load_distributions
        - db:load_cos_major
        - db:load_cos_minor
        - db:load_cos_prerequisites
    
    To generate a report of a student's schedule organized by semester
    - rake db:report[student_email,desired_filename.txt]
    - e.g. rake db:report[linda@test.com,linda.txt]
    
    To generate a report of a student's schedule organized by major/minor/etc.
    - rake db:report_by_major[student_email,desired_filename.txt]
    - rake db:report_by_major[linda@test.com,linda.txt]

Please feel free to use a different markup language if you do not plan to run rake doc:app.