UCL Blueprints v1.0 - A portfolio of tools to assist software project production, delivery, reporting and maintenance, with Microsoft supported technologies and GitHub.
It is important for software development teams to be aware of as much of the entire process of their project development as possible, in order to fully realise their own collective potential and address any shortcomings in their own team engagement or project’s technical quality as quickly and effectively as possible. A team lead or project manager would typically be the one most responsible for collecting and using the knowledge learned from their team’s ongoing project development. This is why it can be extremely useful when a given project’s team engagement and technical quality can be easily quantified and visualised in a meaningful and actionable way. Our collection of applications and extensions aim to do just that, by making use of the GitHub REST API, the Trello REST API, and the various utilities of Visual Studio.
Code Quality Report Generator Component: The first Visual Studio extension, named Code Quality Report Generator (CQRG), consists of two tool windows that can be opened by clicking the Code Quality Report Generator command under Visual Studio’s Tools menu once the extension is installed. These two tool windows offer different ways of generating code quality reports: one allows users to generate reports that describe the project’s code quality (using code metrics such as maintainability index and cyclomatic complexity), test run results and line coverage produced by the test run on a “daily” basis, meaning that a user can generate one report per day that includes all the test run performed on that day and the code metrics of the project produced “at the end of the day”. The other tool window allows users to generate a report that describes the overall project code quality progress by taking as input all the daily reports generated by the first tool window, this would allow users to get an overview of the code metrics, test case numbers and line coverage of the project in a single report.
Design Pattern Detection Reporting Component: The second Visual Studio extension is called Design Pattern Detection Reporting and it consists of a tool window that, after the extension is installed, can be accessed by selecting the Design Pattern Detection command from the View menu in Visual Studio. This extension helps developers to locate all the classes within a Visual Studio project that used a specific design pattern entered by the user, by generating a JSON file and a PDF file that contain the pattern name, number of occurrences, location of the files within the project, and line numbers.
GitHub Project Report Generator Component: The first web application is a client-side-only React application named GitHub Project Report Generator (GPRG) that takes in a GitHub repository’s URL as an input and generates a report presenting the team’s engagement in different ways. The user can generate a ‘basic’ report or a ‘full’ report, the former of which just presents an overview of each contributor’s contributions in table and timeline forms. The table presents each author’s general contribution statistics, while the timeline presents each author’s contributions on a weekly basis. The ‘full’ report, which typically takes significantly longer to generate, includes these first two sections and a third section which is a highly interactive and configurable presentation of the commits made to each file in the given repository in its current revision. These interactive reports are visualisations of the engagement and management of a team, and they can deliver actionable insights for improving their team performance in the short and long term.
Trello Harvester Component: The second web application is a client-side tool named Trello Harvestor. It is an easy-to-use tool designed to aid development team leads/managers in better understanding their team’s performance based on the Trello board of a project. Trello is a piece of software frequently used in industry with the common set up of a to-do list, doing list, and done list with cards being listed in each. Once a card is moved to done it is considered completed. The Trello Harvestor tool takes information about specific lists and the general board and summaries it in both tables and graphs allowing team leads and managers to understand certain metrics responsible for the project’s success. Examples of success metrics may include elements such as who worked on specific cards, who completed the most cards, who opened the most pull requests, who was responsible for certain actions in a list, etc. This tool will allow project managers to easily identify both over-achieving and underachieving developers in their team. This tool in partnership with the GitHub Project Report Generator tool will allow managers to gain a strong understanding of their team’s performance based on two different data sources.
We developed two phone-based Power Apps samples for the purpose of testing connectors with Power Apps and for use by citizen developers who want to create similar Power App by reusing the features that we have implemented in those samples:
What 3 Words Component: Converts GPS coordinates into three-word addresses and vice versa using what3words connector.
Weather Component: Asks for GPS coordinates from users and then displays the location’s temperature and humidity using OpenWeather connector.
As for professional developers, we developed three phone-based Power Apps samples that are useful in different ways:
File Format Changer Component: Converts Word docs uploaded from OneDrive into PDF files that are easily shared with their managers.
item Email Translator Component: Communicate with other foreign developers easily by sending emails written in the receiver’s language.
Twitter Component: Tweeting out projects or finished milestones directly from Power Apps.