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
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
.