Repository navigation
Project submission: Weebcult, an anime quiz website with fully integrated DevOps - #3165
Merged
Merged
Conversation
Collaborator
|
Make sure you meet all the criteria in the project |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Assignment Proposal
Title
Project submission: Weebcult, an anime quiz website with fully integrated DevOps
Names and KTH ID
Deadline
Category
Description
WeebCult is an anime quiz website which me and my partner has worked with in a previous course. We applied multiple tools and different aspects of DevOps to fully utilize everything we have learned from this course. The DevOps stack we have implemented is as follows:
CI: we have implemented unit tests via ViTest and E2E tests via Playwright. These are triggered by .yml file, which uses Github Actions for every pull request or push that is done on the repo.
CD: another .yml file ensures that all integration tests are successful and that there is nothing wrong with the safety or quality of the incoming changes. The file activates Github Actions, allowing firebase to deploy the new version of the repo.
IaC: we implemented Terraform to manage our server infrastructure (firebase and firestore), formalising our setup so it can be replicated and simplifying potentiall attempts at scaling up the server infrastructure for the future.
Security/quality: implemented via Checkov and Trivy, which get activated via Github Actions, allowing us to prevent policy issues, security vulnerabilities and package missconfigurations.
Link to repo, documents regarding the project are found in documents folder and other info is in the README.md: https://github.com/MiTO-X2/WeebCult
Relevance
When it comes to DevOps, the main principle is to automate and effectivize as much as possible. For us, it was necessary. Previously, when we worked on this project, we had to plan meticulously who worked on what part of the code, updates had to be bigger and the risk for merge conflicts was much higher. Plus we had to contact Mostafa for deployment. We also had to privately check everything by hand to make sure that everything worked with the website. Thanks to the added DevOps uppgrades, we have practically a monorepo, which automates all testing and deployment, allowing everybody to work whenver they want and only having to focus on improving the server, instead of needlessly requiring to check that everything works and waste time on communication.