Skip to main content Skip to navigation

Source code for web tools

The University's Software Engineering team has a number of internally-developed web tools and libraries mirrored on GitHub. Some of these are fully open source under the ISC license, whereas others are only available to staff and students. The reason we've done this is to hopefully provide some interest to the wider Warwick community, and allow technical teams around Warwick to potentially contribute to the development of internal web tools, should they wish to do so - we do not expect this to happen often.

Update, March 2021

Internally developed web systems where the source was previously publicly available are now only available for members of the University, by authenticating to the on-premise GitHub Enterprise Server instance at https://github.warwick.ac.uk.

License

Unless specified otherwise (usually in a LICENSE file at the root of the project), all code is released under the ISC license, a permissive license lets people do anything with the code with proper attribution and without warranty. The ISC license is functionally equivalent to the BSD 2-Clause and MIT licenses, removing some language that is no longer necessary.

Contributing

If you're looking to contribute to one of the web tools or libraries, we're happy to accept them, though please get in touch with us first so you're not working on something that we're already working on internally or have plans to do so, and that we agree belongs in the product. You can drop us an email using the Page contact link at the bottom of the page or by emailing M dot Mannion at warwick dot ac dot uk - please don't use this route for general support calls.

Good pull requests - patches, improvements, new features - are a fantastic help. They should remain focused in scope and avoid containing unrelated commits.

Please ask first before embarking on any significant pull request (e.g. implementing features, refactoring code), otherwise you risk spending a lot of time working on something that we might not want to merge into the project.

Please adhere to the coding guidelines used throughout the project (indentation, accurate comments, etc.) and any other requirements (such as test coverage).

Adhering to the following process is the best way to get your work included in the project:

  1. Fork the project, clone your fork, and configure the remotes:
    # Clone your fork of the repo into the current directory
    git clone https://github.warwick.ac.uk/<your-username>/<project-name>.git
    # Navigate to the newly cloned directory
    cd <project-name>
    # Assign the original repo to a remote called "upstream"
    git remote add upstream https://github.warwick.ac.uk/Software-Engineering/<project-name>.git
    
  2. If you cloned a while ago, get the latest changes from upstream:
    git checkout develop
    git pull upstream develop
  3. Create a new topic branch (off the main project development branch) to contain your feature, change, or fix:
    git checkout -b <topic-branch-name>
  4. Commit your changes in logical chunks. Use Git's interactive rebase feature to tidy up your commits before making them public.
  5. Locally merge (or rebase) the upstream development branch into your topic branch:
    git pull [--rebase] upstream develop
  6. Push your topic branch up to your fork:
    git push origin <topic-branch-name>
  7. Open a Pull Request with a clear title and description against the develop branch.

IMPORTANT: By submitting a patch, you agree to allow the project owners to license your work under the terms of the project's license.

List of contributors

Tools

The source for the following tools are available for collaboration:

Student Experience Systems

Tool name Description Code Build tools
Ask Warwick Internal A simple Q&A engine https://github.warwick.ac.uk/Software-Engineering/ask  
Mass Mailing Send bulk emails to members of the University based on their group membership  
My Warwick Personalised information app for students and staff, on iOS and Android
  • Build status
  • Build status
Photos.Warwick Private Manage photo upload and request photos in bulk    
Postroom A system for managing the student post room Build status
Study Spaces Internal View and track space availability in study spaces https://github.warwick.ac.uk/Software-Engineering/studyspaces  
Test & Trace Booking Covid-19 PCR and LFD tests and contact tracing positive cases
  • testandtrace Private
  • ats Private
 
Training Essentials Internal Tracker for compulsary training courses and notifications https://github.warwick.ac.uk/Software-Engineering/training-essentials  
Web sign-on A SAML-based authentication provider  
Welcome Week Internal A system to support proposing, approving and scheduling events and registration for Warwick Welcome Week. https://github.warwick.ac.uk/Software-Engineering/welcome-week  
WSS Case Management Internal A system for securely managing Wellbeing Support enquiries and cases https://github.warwick.ac.uk/Software-Engineering/wss-case-management  

Academic Administrative Systems

Tool name Description Code Build tools
Alternative Exams Portal Internal A system for managing alternative assessments to be taken online. https://github.warwick.ac.uk/Software-Engineering/aep  
Course and Module Catalogue Internal A system for exposing searchable course and module information for presentation in other systems https://github.warwick.ac.uk/Software-Engineering/course-module-catalogue  
Exam Management Private View and download exam timetables and manage invigilators    
Module Approval Internal A system for proposing modules and the workflow surrounding their approval https://github.warwick.ac.uk/Software-Engineering/module-approval  
Module Registration Manager Private Approve module registrations    
Scholarships Internal A system for applying for, and managing the applications of, centrally-managed scholarships. https://github.warwick.ac.uk/Software-Engineering/scholarships  
Tabula Internal Administrate per-student information such as coursework management, online feedback and attendance recording https://github.warwick.ac.uk/Software-Engineering/tabula  

Web Publishing Systems

Tool name Description Code Build tools
Building Access Control Private Internal application to manage access to buildings    
Bulk Card Printing Private Internal application to support printing University cards    
Car Parking Private Manage parking permits and ad-hoc parking    
Experts Directory Private View details of University experts    
Files.Warwick Private Simple file sharing tool    
Library Fines Private View and pay outstanding library fines    
Online Payments Private Payment provider-agnostic transaction tracking system    
PeopleSearch A search engine for staff and student details  
Printer Credits Private Purchase printer credits and view balance    
Search Cross-system search engine
  • elastic Private
  • omni Private
  • omniindexer Private
 
Sitebuilder The University's general purpose Content Management System  
Warwick Blogs Private Academic-focused blogging platform    

Utilities

The source for the following utility libraries are available for collaboration:

Tool name Description Code Build tools
ID7 Public University of Warwick Corporate Identity https://id7.warwick.ac.uk
  • Build status
Warwick Utils Internal Various shared utility libraries for JVM-based tools https://github.warwick.ac.uk/Software-Engineering/warwick-utils  
Play Utils Internal Various shared utility libraries for apps built using Play! Framework https://github.warwick.ac.uk/Software-Engineering/play-utils  
Play Warwick Internal A base plugin for applications developed at Warwick using Play! Framework https://github.warwick.ac.uk/Software-Engineering/play-warwick  
🔀 Internal Middleware app for file format conversion (principly * -> txt) https://github.warwick.ac.uk/Software-Engineering/file2txt  
SMS API Internal Internal facing SMS API backing onto multiple backends https://github.warwick.ac.uk/Software-Engineering/sms-api  
Slack Commands Private Internal Slackbot to integrate with ServiceNow and Jira    
Virus Scanner Private Wrapper on ClamAV to signature scan uploaded files for viruses    

We'll continue to add to this list as we make the source of more tools and libraries available.