PROMPT

PROMPT (Progress Monitoring for Postgraduate Timelines) is a form creation and distribution website to monitor PhD students and academic supervisors at the Universiy of Sheffield

After success within the UoS Engineering Faculty, PROMPT has been handed over to TUoS Research Services and epiGenesys to become a university wide system

Ruby on Rails

JavaScript

RSpec Unit Testing

Postgres database

GitLab

SCSS

HAML

Agile Development

Moqups prototyping

📝 design

🎨 prototypes

🧑‍💻 technology

📆 project timeline

Accounts

PROMPT allows students and staff members to share forms

Staff members can be Academics or Tutors according to what forms they have responsiblity over

Admins are responsible for user and information management

Students

Academics

Tutors/Directors

Admins

User info is taken from the TUoS CICS login system, via the username

Form Status indicators

Students are given a collection of forms according to their Study Programme. Each form is given a lateness indicator before it is submitted

Closed

The form deadline is far away
Action is not yet needed

Deadline Approaching

The form is close to it's deadline
The student needs to submit the form soon

Late

The form missed it's deadline
It must be submitted as soon as possible.

When a form is submitted, the form is given a submission status indicator

A student's supervisors need to approve forms before they are approved

Submitted

The student has submitted the form
Staff now need to approve it

Action Needed

A staff member has rejected the form
The student needs to resubmit it

Awaiting Approval

The final staff member needs to approve the form

Approved

All necessary staff have approved the form
No further action is needed

Approval Timelines

After a form is submitted by a student, it is given an approval timeline

User's hover over a circle to act on the form

Usually primary and secondary Supervisors of a student give initial form approval, but the final approval comes from an admin or a tutor

  • Student

  • Supervisor

  • Admin

Buttons appear to allow you to approve or reject a form

reject all

This button resets the form
it emails the student

reject prev

This button passes the form back
it emails the previous user

Approve Forward

This button passes the form forward
It emails the next staff in line

Approve

This button approves the form
The student is emailed

Additional Form Functionality

Save Draft

This button saves your progress for later
This feature is coming soon

No Access

This means You are not permitted to act as this role
This may be because you do not have authority, or because the form is complete

Revoke Approval

Admins can revoke all form approval, to reset the form progression.
User input is saved

Timelines and Notifications

Timelines are collections of forms, and they describe the process needed to complete a study programme


The following are variables which can be set for each form on a timeline


Due Days

The deadline for form submission

Open from

Decides how many days before deadline a form will open

Reminders from

Decides how many weeks before deadline the student is notified

Reminder Frequency

The student will be notified to submit the form frequently

Students can be manually notified by admins to fill in forms
This is done in the student view with the icon

Study programmes

Students have study programmes, which decide the time spent studying and the nature of a students study period

When a student moves study programmes, their time limit (amount of time before graduation) is changed appropriately

Research Groups

Research groups are collections of users, typically doing on same or similar study programmes.

Tutors can give final approval of forms within the department of their Research Group

Departments

Staff can be associated with many departments. Their primary department is according to their Research Group

Forms, timelines, study programmes and research groups are also assigned a department. This information helps academics filter information on the site

Coming soon!!

Stay tuned to see more

Not Found

Development process

This project was built with a team of 5 developers over a 2 year period

Ruby on Rails was used for the full development stack, and the database was managed with Postgres

GitLab was initially used for version control; GitHub was used after the project was seperated from the Software Hut module

Not Found

Feature Testing

Test driven development with RSpec ensured the application was well tested and reliable

  • 85.69% code coverage
  • 50.6 hits/line 2:1 Test to Code ratio
Not Found

Application Security

Brakeman was used to ensure that best practises were in place to prevent XSS vulnerabilities, SQL Injection, SRF vulnerabilities, and more potential vulnerabilities

Passed with zero errors and zero warnings

Not Found

Dependency Security

Bundler Audit ensured all packages and external libraries were kept up to date and versions with known vulnerabilities were not used

Passed with zero errors and zero warnings

A photo of 5 developers: Johnny, Nick, Sam, Nada and Nayira

Meet the team

This project was built with a group of 5 developers, as part of the Software Hut module in my degree

More information about the Software Hut module can be found here

A photo of 5 developers: Johnny, Nick, Sam, Nada and Nayira

Beyond the module

Following building PROMPT in the Software Hut module, I was employed by the Engineering Faculty to continue work

The service has now been handed over to epiGenesys, a software company within the university, for maintenance

PROMPT started within the Mechanical Engineering department and has been rolled out across the Engineering Faculty