Five Dudes Capstone Project.
The rise of large language models like ChatGPT has had a massive impact on the integration of artificial intelligence into everyday life. Music forms an integral part of our lives and we do not always realize this. At Five Dudes, we are excited about the potential to merge artificial intelligence with a service used by billions around the world. Our goal is to harness the use of artificial intelligence to streamline the music listening experience for users everywhere. MoodMix allows us to do just that.
Gerrit Potgieter
Rhevan Kruger
|
Frontend, Integration Engineer I am a passionate student with a keen eye for detail and a great deal of interest in the world of Computer Science and Software Engineering. I take a great amount of satisfaction in the efficiency of a well-oiled development process and environment. I pride myself on being highly motivated and delivering quality work.I have prior experience in web development, volunteering at RURESA (Rural Rehab SA). Through this process I learned a lot about web-development and found myself thoroughly enjoying the work. I am also well versed in other languages and frameworks some of which will be listed below. Resume: https://drive.google.com/file/d/14WSFZ_3tMI77fgqfenRApsAfAlItNwFa/view?usp=drivesdk
|
Alex Pretorius
James Hardy
Ian van Wyk
Overview
Our Git organization and management strategy is designed to streamline development, ensure code quality, and facilitate smooth releases. This document outlines our branching strategy, the purpose of each branch type, and best practices for collaboration.
We follow the Gitflow branching model, which helps manage the project's development and release process effectively. The main branches in our repository are:
main: Contains production-ready code. Always in a deployable state.dev: Integrates all latest development changes. Used for feature integration and testing.feature/*: Used for developing new features. Branched off fromdevand merged back intodevwhen complete.release/*: Used for preparing a new release. Branched off fromdevand merged into bothmainanddev.hotfix/*: Used for critical bug fixes in the production version. Branched off frommainand merged into bothmainanddev.
- Purpose: Contains the stable, production-ready code.
- Usage: Only release and hotfix branches are merged into
main. - Best Practices: Ensure all changes are thoroughly tested and approved before merging into
main.
- Purpose: Integrates all development work. Acts as the primary branch for ongoing development.
- Usage: All feature branches are merged into
dev. Developers pull fromdevto stay updated with the latest changes. - Best Practices: Regularly pull from
devto minimize merge conflicts and ensure feature branches are up-to-date.
- Purpose: Develop new features independently.
- Usage: Branch off from
devto start working on a new feature. Merge back intodevupon feature completion. - Naming Convention: Use descriptive names, e.g.,
feature/new-login-page. - Best Practices: Frequently pull from
devand resolve conflicts locally before merging back.
- Purpose: Prepare for a new production release.
- Usage: Branch off from
devwhen thedevbranch has enough completed features for a release. Merge into bothmainanddevafter final testing and minor fixes. - Naming Convention: Use version numbers, e.g.,
release/v1.0. - Best Practices: Ensure all release-critical issues are resolved before merging.
- Purpose: Address critical bugs in the production environment.
- Usage: Branch off from
mainto fix the bug. Merge the fix into bothmainanddev. - Naming Convention: Use descriptive names, e.g.,
hotfix/critical-bug. - Best Practices: Prioritize resolving the issue quickly and ensure it is tested before merging.
- Creating a Feature Branch
git checkout dev git pull origin dev git checkout -b feature/new-feature





