This is an application for Warwick Engineering Society Members to be able to view PDR Points gained at Engineering Society events.
This repository can also be used as an template project for working with University of Warwick SSO and JavaScript. Theoretically this project could easily be translated into an API for a React or Vue app.
Professional Development Requirement points, or PDR for short are allocated to certain events by the School of Engineering. Their purpose is to introduce students to aspects of professional practice. Further information is available on the Engineering Student Office website.
To progress to the 4th Year of an MEng degree, the School of Engineering requires each student to have obtained a minimum of 12 PDR points by the end of the first term of their 3rd Year.
Simply attend any event that allocates PDR points and make sure your attendance is recorded. All Engineering Society conferences, site visits and careers events provide PDR points, so going to those is an easy way to hit your requirement.
- JavaScript
- NodeJS
- ExpressJS
- Passport and Passport-saml
- EJS Templating Language
- SAML
- This app integrates with University of Warwick SSO using SAML
- PWA (Progressive Web App)
- pwa-install-prompt
- Service Worker
- Read about Warwick SSO here
- Fill out a request with ITS here
- (Optional) Make a fork of this project
git clone
this repo or your fork on the server with SSL set up behind NGINX or Apache.- You should develop on the remote server as you need to provide valid metadata later to ITS, so I recommend using VSCode's Remote SSH Plugin which you can get here
- Copy
sample.env
to.env
and fill in the details- Leave DEBUG set to TRUE until UoW grant you access to the production SAML IDP systems.
- Run
npm i
to install dependencies - Run
npm start
to start development - ITS will ask you for "Service Provider (SP) metadata". You can find this at
https://domain.com/saml/Shibboleth.sso/Metadata
- They should help you if you run into any issues.
- Dhaval Soneji, Head of Technology 2020-2022 (main developer and project owner)
This code is Licensed under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3. The main takeaway for someone using this project to develop their own SAML application based on any code in this repository is that you must Open-Source it, under the same AGPLv3 License.