System Architecture

GitHub Repository:

Project Yama GitHub Repository

  • We will create a new branch for each feature being worked.
  • Team members will pull from the testing branch at the start of each sprint and then merge to the testing branch once they feel each task has been completed and passed all tests locally.
  • Once a merge has been done to the testing branch, the automated Playwright testing and Vercel build process will be initiated.
  • When we have completed enough for a relatively stable release, or we need to deploy for submission, the testing branch can then be merged into the Main branch and a release created if required.

GitHub Architecture

Development Architecture:

  • The front-end will be developed using the Svelte framework/compiler.
  • When pushed to GitHub, an Action script will initiate a suite of Playwright automated tests to ensure everything is working as expected and automatically builds the code and deploys the application to Vercel. Any deployments from the Main branch are automatically pushed to production, while other branches are pushed to randomly generated URLs for testing.
  • The back-end will be developed using AWS Server Application Model (SAM) that allows local development, testing and deployment to AWS. A bash script has been written to automate the running of test-calls to the local instance of the API that is built in a Docker container to ensure everything is working before deployment.
  • As MongoDB is a NoSQL database and does not have a fixed schema, we do not need to test or deploy anything after the initial setup.

Development Architecture