| Lotte Face Eliasson | lott4328 | GitHub Profile |
| Mikkel Olsen | mikk39k3 | GitHub Profile |
| Jakob Agger Johannessen | jako894n | GitHub Profile |
| Hannan Ahmed Mohamad Noor | hann7575 | GitHub Profile |
| Dan Viktor Jørgensen | danx8076 | GitHub Profile |
Initially the project was divided into a frontend repo and a backend repo. For convenience we merged them both into the backend repository. Our Single Page Application is housed inside the frontend folder found in the root and the rest is a traditional maven setup structered by layers rather than features. Everything is hosted on Azure.
The project serves as an experimental platform for playing around with the OpenAI API to integrate AI services into a web app.
Our branching strategy incorporates several key elements commonly used in collaborative software development.
We use the 'master' branch as our production-ready codebase. For new developments, we create feature branches. Once a feature is complete, we initiate a pull request to merge it into the 'staging' branch. This triggers automated builds and tests via GitHub Actions, and if successful, the changes are deployed to the Azure Web App service for staging.
The 'staging' branch acts as our pre-production environment, allowing us to test in a setup that mimics production. After thorough testing and validation, we merge the 'staging' branch into 'master', updating our live production environment with the new changes. This strategy ensures that our production environment remains stable and reliable.
Key elements in strategy
- Master Branch (live production)
- Staging Branch (pre-production)
- Feature Branches
- Pull Requests (Approval required from another team member)
- Continuous Integration (CI) with GitHub Actions
- Deployment with Azure Web App Service
- Merging Staging into Master
.