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:
- 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
- If you cloned a while ago, get the latest changes from upstream:
git checkout develop git pull upstream develop
- Create a new topic branch (off the main project development branch) to contain your feature, change, or fix:
git checkout -b <topic-branch-name>
- Commit your changes in logical chunks. Use Git's interactive rebase feature to tidy up your commits before making them public.
- Locally merge (or rebase) the upstream development branch into your topic branch:
git pull [--rebase] upstream develop
- Push your topic branch up to your fork:
git push origin <topic-branch-name>
- 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.
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 | ||
Photos.Warwick Private | Manage photo upload and request photos in bulk | ||
Postroom | A system for managing the student post room | ||
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 |
|
|
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 |
|
|
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 | |
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.