
GitHub Repository Link: fluffy-engine
Kym Hannah: s2247460
This is a web application that has been created for a local dance organisation called ‘Passion Fruit Studios’, based in a fictitious location called ‘Dance City’.
The application is built using the MVC (Model-View-Controller) design pattern, and is designed to allow users to view and book courses, and allow the organisation to manage these courses. The web application is built using node.js, express.js, NEDB database to store data, Mustache templating engine to render views, and the TailwindCSS Framework for styling.
The application is deployed on Azure, and is hosted on a free tier of the Azure App Service. Beyond the scope of this project, I would consider upgrading to a paid tier of the Azure App Service, to allow for more storage and better performance, as well as consider using a more robust database solution, such as MongoDB or PostgreSQL, to allow for better scalability and performance.
The CI/CD pipeline is set up using GitHub Actions, and the application is built and deployed automatically when changes are made to the main branch. I decided to use GitHub Actions for the CI/CD pipeline, as it is a quick and easy way to set up a CI/CD pipeline due to simple integration instructions with Azure, SonarCloud and Snyk.
SonarCloud is used for static code analysis, and is set up to run automatically when changes are made to the main branch. Snyk is used for security scanning, and is set to test weekly (due to being on free tier) for vulnerabilities in the codebase and dependencies.
Snyk alerted me to a vulnerability with the ‘express’ package, which was fixed by updating the package to the latest version. It automatically created a ‘pull request’ to update the package, which I merged into the main branch.
Documentation is generated using JetBrains Writerside, and is hosted on GitHub Pages. The pages are written in Markdown.
The application is built using JetBrains WebStorm IDE, and uses JetBrains YouTrack for issue tracking.
I have created a more in-depth set of documentation, which can be accessed here: Documentation
Features are based on requirements
The application is deployed on Azure, and can be accessed on the following link: Passion Fruit Studios
npm install
GOOGLE_MAPS_API_KEY=[See message sent via assignment submission]
ACCESS_TOKEN_SECRET="Random string for Web Application"
As I don’t want to reveal my google maps API key publicly , I have sent it via the assignment submission. Please use the same key to run the application locally.
npm start
System Test results are available in the Test/TestPlan.md file.
Evidence of the tests are available in the Full System Test folder.
This contains PDF and video evidence exported from Xray Exploratory App.
2 Issues were found and fixed: