 So the I'm starting again then so that this is the diagram of the architecture of pager, which is also present on the documentation about pager So the main part is going to be the web server That's the the flask application that people interact with on the on the back end. We have a database that the the web application updates and queries live and then we also have part of the core application we have workers That was the way we ensured that we do we did not have to request Writing to the same git repo at the same time So the git repos are locked and the workers are the way to spread the load when we when you update when you interact with the git repos and To do that Asynchronously so that we can we can return quicker to the user the page. So the web page The database the workers also pick information from the database interact with the git repo They're mostly for updating them the the application itself reads them and The workers write them. That's the that's the idea After that we have a post-viz servers. That's used for sending notifications So these are and get a light at the top which is used to give to control access shell access So get a light is what when you you know git clone git at pager.io blah blah Get a light is what is what pager uses to control who has access to what? These are big basically at the core part of pager and everything else is pretty much optional So we have a military here who is part of postfixed and whose role is to be able to You should be able to reply to a ticket Notification from pager about a ticket and your comment is directly added to the ticket From the reply. So that's one part that Adam has been working on at one point Fixing it We have the web hooks. So we book to to get notification to sub party basically We have the the CI the CI work. That's something that one of the g-soc students Fahan worked on Currently it supports only Jenkins, but the way it's built is such that we should be able to add pretty much any other CI system that we would want to interact with easily. I started to look at Travis Recently but not enough that There is anything to work on that will be something interesting to work on But it's it's not going to be a small task. I think but it would be would be nice to get there And then we have the the event source server here, which is used for so when you update when you Comment on a ticket on pull request or someone else comment on that you get all that pull request And you're viewing the page the comment appears directly on the page without the need for you to reload it And that's what the the event source server is for So it's quite handy because you can basically then just chat with someone on a ticket if you're both looking at The page that the comments will show up as they are posted. So it's quite nice it's also very handy for pull request because it allows you to comment on a diff and Not reload the entire page So you stay at the place where you are your comment is sent It appears on the page and you're still you're still at the same place on the page You're not sent back to to the top of the page as you would if you would do a regular post request And then the last item We have the pager doc server. So that's what's run. It's the docs the pager.org So it's a separate flask application that just displays the documentation of the doc repos and At the top here. We have the load the jason Module service which is used for when you so a project on pager as for git repos There is the source git repos. There is the documentation git repo and then there is the the issues and Pro request the good git repos and if you you can interact with the issues and per request git repos manually locally on your on your laptop But if you and if you turn on the proper githook The you can actually also update the database from pushing to the to the issue git repo for example And that's what the logis on The service is about you will push to the to the issue It will see which file change and update the database based on the content of the files And then we have the log come service here. It's basically a hook. It's part of it's exactly part of the default hook It's not a dedicated one and that's look is Logging the activity the commit activities in the database so that we can we can fill up the calendar it map That shows up on every user's profile So if you're looking to why a certain activity does not show up in the calendar it map That's gonna be the outcome if you're looking for why a certain issue is not refreshed while I pushed that's gonna be the logis on This kind of things so that's a little bit the overview of the the architecture of the project now I guess what we can do is Would you like so the easy way the first thing is to get yourself a pager instance running on your machine If you don't already have one and then we can just go through the eyes us with the easy fix or through the regular tickets And see which one we can tackle which means that I think we can stop the recording because yeah I'm not going to stand here if there is only the five of us in the room six of us