Origami Logs is a simple University Project I made for my 'Web Applications' module.
It is an error logging system like Flare or Sentry.IO, but for Flask applications.
Per university instructions, it was built using the Flask framework. However, I decided to make use of TailwindCSS (because of course I did), and more notably SocketIO which I used to provide real-time logs!
This was my first time handling socket connections and I have to say, dealing with authenticating servers and clients was such a fun task.
Each user, also had a project tied to their account. They could change the name of their project, change it's description, or most importantly generate and copy their project token.
This is the token they would use to authenticate their own project with our website, allowing their app to send logs.
Upon initial connection, they would send their authentication token to our WebSocket server and we would send back whether they were accpeted or denied.
The UI is very simple, but we weren't marked on the user interface so sadly it took back-seat. I still think it looks cute though :)
One of the requirements for this application was that it had a 'many-to-many relationship' somewhere. I decided to make mine between the projects and users.
Users can invite other users to view their project's error logs. Invited users can then choose to accept or deny these invitations.
If accepted, they'll be marked down as 'viewers' for the project they've been added too, our Websocket server will then use this information to send the correct logs!
Users could either look at the 'Live Logs' tab, or browse through logs with a few more search features.
They can select from the servers they own or are viewers of and then search for specific files, errors or dates.