Skip to content

Laravel web application for requesting course overrides.

License

Notifications You must be signed in to change notification settings

uawcob/course-overrides

Repository files navigation

Course Overrides

This laravel web application is designed to take override requests for class registrations.

Build Status Codecov Code Climate

Setup

Familiarize yourself with the laravel application installation process.

Server Requirements

  • PHP >= 7.0
  • composer
  • Shibboleth SP must be installed to authenticate University users.

Installation

Clone this repository or download the zip archive.

git clone https://github.com/uawcob/course-overrides.git

Point the server document root at the public folder. Set write permissions for the web server user to the storage and cache folders.

sudo chown :www-data -R storage/ bootstrap/cache/
sudo chmod g+w -R storage/ bootstrap/cache/

Create the environment variables file from the template.

cp .env.example .env

Set all the values in .env accordingly. Leave APP_KEY blank because it will be set by the deploy script later.

You may request API credentials for razorback courses and plans from Mike Akerman in UITS, or someone from the UAConnect development team.

Staff advisors and administrators must belong to a privileged security group in active directory. Find the Shibboleth entitlement name that matches the group and set the environment variable:

OVERRIDE_ADMIN_GROUP="GACL\WCOB-UGPO-OverrideRequestAdmins"
OVERRIDE_ADMIN_ENTITLEMENT="urn:mace:uark.edu:ADGroups:Walton College:Security Groups:WCOB-UGPO-OverrideRequestAdmins"

If you don't know the mapping, then you can find it in the $_SERVER variable after authenticating.

It's recommended to use redis for the caching and session layer. Pull the docker image and set the host:port:6379 accordingly.

docker pull redis
docker run --name override-redis --restart=always --publish 127.0.0.1:6789:6379 --detach redis

In this example, the variables would be set:

CACHE_DRIVER=redis
SESSION_DRIVER=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6789

The database migrations include a view and user permissions that were created exclusively for Microsoft SQL Server. If using a different DBMS, then you can skip those migrations. The purpose of these migrations is to create an administrative view with an editable column for notes on request processing.

If you are running a Linux server connecting to MS SQL Server, then you might be interested in the php-sybase package with these configurations.

Finally, there is a short deploy script to finish installation.

./deploy.bash

Development

There is a Dockerfile included for testing with the Courses API.

docker build -t razorbacks/override-mock-api tests/docker/MockApi/
docker run --rm -d -p 8888:80 razorbacks/override-mock-api

Then set the environment variable for your endpoint.

RAZORBACK_COURSES_API=http://localhost:8888

Run unit and integration tests:

./vendor/bin/phpunit

Run browser tests:

php artisan dusk

The Laravel framework is open-sourced software licensed under the MIT license.

About

Laravel web application for requesting course overrides.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages