20 Aug 2019

4119

0

GSoC 2019 - Developer Web Interface for ReactOS (Final Report)

Introduction

Developer Web Interface for ReactOS is a web tool to support the development of ReactOS. The main goal of this project is to develop a platform for ReactOS developers to easily track Commits, Builds and Test details. The web Interface makes API calls to various endpoints of GitHub, BuildBot and Testman API and interrelates them and renders a simplified view of Commit, Build and Test details at one place, so developers don't have to visit different sites to view different details, our web Interface collects all details and displays at one place.

Links

  • The working repository can be found here.
  • The project is deployed here temporarily.

What has been done

  • API calls to various Endpoints of GitHub API.
  • Filtering commits by branch.
  • Filtering PRs by State (closed, open, all)
  • API calls to BuildBot API.
  • API calls to Testman (reactos/web/testman/ajax-search.php)
  • Filtering Testman and buildbot data with respect to commits and PRs.
  • Rendering all data to the Client side.
  • Added Server side Pagination.

 

The commits can be filtered by branch and PRs can be filtered by their States(closed, open and all ) At first, the screen loads and show 10 panels containing the latest commits and upon clicking the panel you get all details about the commit, build and tests.

Commits Tab

commits tab

Expanding Each commit

Expanding Each commit

 

One can easily switch from commits Tab to PRs tab to get the desired information.

PR's Tab

 

Features Yet to Implemented

  • A Search feature to list any commit or PR
  • Filtering by Date, author ,etc
  • And UI improvements for sure

Conclusion

The web interface now shows all data related to commits, builds and tests and is ready to use. It will save time developers so that they can focus on development rather than spending their time searching for commit details and finding build results around the buildbot interface.

Plans after GSoC

ReactOS had been a very supportive organisation throughout the GSoC period. I would like to thank my mentors @colin Finck @extravert34 and @vicmarcal for guiding me. From now onwards I'll be a regular ReactOS contributor.

This blog post represents the personal opinion of the author and is not representative of the position of the ReactOS Project.

The Blog Posts

Opinions, technical details, side projects or lovely kittens created directly by the ReactOS Devs.

Their opinions are theirs, so...well...any injuries, wounds, or dead-kittens due them, are..well..their own responsibility.

Visit the "Project News" for official statements.