-
Notifications
You must be signed in to change notification settings - Fork 0
Git Workflow
Our Git Workflow defines the steps and best practices for collaboration on the bounswe2025group3 project. Following this workflow ensures a consistent development process, a clean commit history, and smooth integration of new features and fixes into the main codebase.
-
Feature Branches:
For every new feature, bug fix, or improvement, create a dedicated branch off the main branch. This isolates your work from the production code and allows for independent testing.-
Naming Convention: Use descriptive names with prefixes such as
feature/,fix/, orhotfix/.-
Examples:
feature/user-authenticationfix/login-bug
-
Examples:
-
Naming Convention: Use descriptive names with prefixes such as
-
Main Branches:
-
main(ormaster): Contains production-ready code. -
develop: (If used) Serves as the integration branch for feature branches before releasing to production.
-
-
Atomic Commits:
Each commit should represent a single logical change. This makes it easier to understand the history and helps in isolating issues. -
Clear Commit Messages:
- The first line should be a short summary (ideally less than 50 characters).
- Follow with a blank line and a more detailed explanation if needed.
- Use the present tense and imperative mood (e.g., “Add login authentication with JWT”).
-
Example Commit Message Format:
Add user authentication via JWT This commit includes authentication middleware and updates the login API to support JWT-based authentication.
-
Creating Pull Requests (PRs):
When a branch is ready, push it to the remote repository and create a pull request. The PR should:- Clearly describe the purpose of the changes.
- Reference any related issues or tickets.
- Include context that would help reviewers understand the code.
-
Review Process:
- At least one team member should review the PR.
- Check for code quality, adherence to project standards, and appropriate test coverage.
- Address all feedback and perform any required adjustments before merging.
-
Merge Method:
- Squash and Merge: Consolidates all the commits from a branch into one before merging into the main branch, keeping the history clean.
- Rebase and Merge: Alternatively, maintain a linear history by rebasing your feature branch onto the latest main branch (if preferred by the team).
-
Conflict Resolution:
- Always pull the latest changes from the target branch before merging.
- Resolve any merge conflicts locally and ensure that all tests pass.
-
Post-Merge:
After merging, delete the feature branch from the remote repository to keep the branch list manageable.
-
Version Tagging:
When preparing a release, create annotated tags on the main branch following semantic versioning (e.g.,v1.0.0). -
Release Branches:
If necessary, use a release branch to perform final testing and stabilization before tagging a new version.
-
Consistency:
Maintain uniformity in branch naming, commit messages, and PR descriptions. -
Communication:
Clearly document the purpose and context of changes in commit messages and PRs. -
Continuous Integration (CI):
Ensure all tests pass in your CI pipeline before merging any code. -
Documentation:
Keep the project wiki and other documentation updated with any changes to the workflow or project structure.
- Lab1
- Lab 1 Meeting Notes
- Lab2
- Lab 2 Meeting Notes
- Lab3
- Lab 3 Meeting Notes
- Lab4
- Lab4 Meeting Notes
- Lab5
- Lab5 Meeting Notes
- Lab 5: MVP Implementation & Planning
- Lab6
- Lab6 Meeting Notes
- Lab7
- Lab7 Meeting Notes
- Lab 7: Milestone 2 Demo Preparation
- Lab8
- Lab8 Meeting Notes
- Lab 8: Requirements Review & Acceptance Planning
- Ahmet's Bio
- Barathan's Bio
- Berkay's Bio
- Berke's Bio
- Caglar's Bio
- Mehmet Emin's Bio
- Nilsu's Bio
- Ömer's Bio
- Selman's Bio
- Taha's Bio
Ahmet Okta
Barathan Aslan
Berke Kartal
Mehmet Çağlar Kurt
Mehmet Emin Atak
Muhammet Berkay Keskin
Mustafa Taha Söylemez
Nilsu Tüysüz
Selman Akman
Ömer Faruk Bayram
- Use Case Diagram
- Class Diagram
- Sequence Diagrams - Admin Management and Moderator Functions
- Sequence Diagrams - Rewards, Badges and Leaderboard System
- Sequence Diagrams - Notification System
- Sequence Diagrams - Tips and Recommendations
- Sequence Diagrams - Challenge and Activity Tracking
- Sequence Diagrams - Waste Tracking and Scoring System
- Sequence Diagrams - User and Account Management
- Sequence Diagrams - Goal Management
- Sequence Diagrams - Authentication
- Sequence Diagrams - Session Management
- Sequence Diagrams - Events Management
- Project Plan
- Requirements
- Elicitation Questions & Answers
- Scenario #1
- Scenario #2
- Scenario #3
- Scenario #4
- Scenario #5
- Scenario #6
- Scenario #7
- Scenario #8
- Scenario #9
- Scenario #10
- Scenario #11
- Scenario #12
- Scenario #13
- Scenario #14
- Use Case Diagram
- Class Diagram
- Sequence Diagrams - Admin Management and Moderator Functions
- Sequence Diagrams - Rewards,Badges and Leaderboard System
- Sequence Diagrams - Notification System
- Sequence Diagrams - Tips and Recommendations
- Sequence Diagrams - Challenge and Activity Tracking
- Sequence Diagrams - Waste Tracking and Scoring System
- Sequence Diagrams - User and Account Management
- Sequence Diagrams - Goal Management
- Sequence Diagrams - Auth
- Sequence Diagrams - Session Management
- User Manual for Frontend-Web
- System Manual for Frontend-Web
- Research Documentation for Frontend-Web
- Testing Manual for Frontend-Web