Skip to content

Instantly share code, notes, and snippets.

@RishiRaj22
Last active August 15, 2018 21:23
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RishiRaj22/60b19f7f9f59f97fd1316e0110535eb4 to your computer and use it in GitHub Desktop.
Save RishiRaj22/60b19f7f9f59f97fd1316e0110535eb4 to your computer and use it in GitHub Desktop.
GSoC 2018: XMPP Compliance Tester

GSoC 2018: XMPP Compliance Tester

The main goal of this project was to create a web application to check compliance of XMPP servers with XEPs (XMPP Extension Protocols) based off of the existing XMPP Compliance Tester tool. A new repository was created for this project, as using the old one was not feassible due to major structural changes. This new repository can be found at https://github.com/iNPUTmice/caas

It contains all of the code written as a part of the GSoC project.

Here is the list of the proposed deliverables, along with their status at the end of the GSoC period:

Proposed Deliverable Remarks
  • A user friendly interface to test public as well as private servers online.
Fully implemented
  • Graphical visualisation and statistics for current and historical implementation of different XMPP extensions for a given server.
Fully implemented
  • Graphical visualisation and statistics for current and historical implementation of each extension, along with information and link to the extension's page.
Fully implemented
  • Unit tests for the backend code.
Fully implemented
  • Handling errors in the execution of the tests and sending alert to subscribers when it occurs.
Fully implemented
  • Custom badges showing the current compliance status of a server.
Fully implemented
  • Sending compliance test report of server to subscribers periodically.
Instead of disturbing users with periodic emails, we send an email only when a new test is added to the tool
  • Adding more tests for the servers.
We couldn't come up with new XEPs to test (The few XEPs we had in mind, were already taken care of by my mentor)
  • Weekly blog posts about project progress.
There wasn't much to write about, so I made monthly posts instead

The application can be deployed with all the above features by following the build instructions given in the repository. To see the full list of commits I made, go to https://github.com/iNPUTmice/caas/commits?author=RishiRaj22

I would like to thank Daniel Gultsch for being a great mentor, and all the awesome people who supported and appreciated me. I would also like to thank Google for providing this great opportunity. :)

Screenshots
Root page screenshot
Root page
Server page screenshot
Server page
Add page screenshot
Add page
Test page screenshot
Test page
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment