If you are a user (i.e. NOT a developer) visit the user guide.
SAP is a suite of apps designed specifically for the BYU Humanaties Advisement Center. SAP is meant to be an all-in-one solution for college advisement centers. SAP is made up of the following applications. Following Sections contain information about each.
- Internships
- MyGuide
- Scheduling
- Admin
- (TODO) Reports
To make this app more moular we have broken up each piece into separate Rails engines. Our approach was based on a few blog posts from Pivotal Labs:
For more information about how to work with engines, the Edge Rails docs have great information about how to manage migrations, etc.
The admin section of the app is generated with the rails_admin gem. This is not in its own engine per se but is in the parent app. See their documentation if any changes need to be made. It should automatically detect new models even those in other engines.
The following gems are used in conjunction with rails_admin to add features to the user system.
- Devise CAS - To authenticate with BYU web services
- CanCan - Authorization gem. Doesn't include how roles are set up
- Rolify - Handles roles for CanCan
Notes: There are two ability files in the parent engine. One is explicitly for roles related to working with the rails_admin interface, and the other is for all other role logic. Devise is already included with rails_admin. The User model is the model used for all users.
Info about the Internships app
- Backbone.js??
Info MyGuide
We used Test::Unit (built in)