-
Notifications
You must be signed in to change notification settings - Fork 0
Lab Report 5
The stub application has been successfully completed as a collective and individual effort. The app is a static web application built with HTML, JavaScript, and CSS, served via an nginx Docker container. Each team member implemented a personal button that fetches data from a public API and displays the result on a new tab. The following buttons were implemented:
- Button 1 (Amin): Turkey Weather Portal — displays current weather data
- Button 2 (Övgü Su): [her butonunun açıklaması]
- Button 3 (Sami): Blog Post Preview - fetches and displays specific article data in a custom layout.
- Button 4 (Beratcan): Random Joke Generator — fetches and displays a random joke
- Button 5 (İbrahim): Random User Profile — displays name, country, and photo
- Button 6 (Burak): Random Dog Photo — displays a random dog image via Dog CEO API
- Button 7 (Bora): Monkey Information - fetches monkey and primate species data from the iNaturalist API.
The final version was merged into the feature/stub-app branch via individual Pull Requests.
To ensure long-term maintainability and high-velocity collaboration, our team adheres to modern industry standards for version control:
-
Commit Naming (Conventional Commits): We follow the Conventional Commits 1.0.0 specification. Messages must use the imperative mood and be prefixed with a type:
-
feat: A new feature for the user. -
fix: A bug fix for the codebase. -
docs: Documentation-only changes. -
refactor: Code changes that neither fix bugs nor add features. -
chore: Maintenance tasks (build scripts, package manager updates). - Example:
feat: implement async API call for mentorship button
-
-
Branching Strategy (GitHub Flow): We utilize a streamlined branching model to maintain a deployable
mainbranch:-
main: The "Source of Truth." Contains production-ready code. -
dev: Integration branch for combining tested features. -
Short-lived Feature Branches: Named using kebab-case with a descriptive prefix (e.g.,
feature/user-auth,bugfix/api-timeout). - Atomic Development: Branches are kept small and focused on a single logical task to minimize merge conflicts.
-
-
Pull Request & Merge Policy:
-
Mandatory Peer Review: No code is merged into
devormainwithout at least one approval from a teammate. - CI/CD Readiness: Every PR must pass local Docker build checks and linting before being marked as "Ready for Review."
-
Integration Strategy: We utilize a hybrid approach based on the task:
-
Squash and Merge: For small features to keep the
mainhistory clean and linear by condensing "work-in-progress" commits into one. - Merge Commit: For complex, multi-person features where preserving the granular history is necessary for debugging.
-
Squash and Merge: For small features to keep the
-
Mandatory Peer Review: No code is merged into
We have chosen Option A: Specialized Sub-Teams to maximize efficiency by matching project requirements with member expertise.
| Member | Primary Role |
|---|---|
| Beratcan Doğan | DevOps (Backend Focus) |
| Mehmet Bora Sarıoğlu | Backend |
| İbrahim Kayan | Backend |
| Muhammet Sami Çakmak | Frontend |
| Burak Öğüt | Frontend |
| Övgü Su Afşar | Frontend |
| Amin Abu-Hilga | DevOps (Frontend Focus) |
- Implementation Plan (MVP + Final Milestone): https://github.com/bounswe/bounswe2026group7/wiki/MVP-and-Final-Milestone-Plan
Following the lab directives, the table below outlines the specific tasks completed by each team member during the Git Workflow, Stub Application, and Team Planning session.
| Name | Task | Linked Issue |
|---|---|---|
| Burak Öğüt | Implemented Button 6 ("Random Dog Photo API") using Dog CEO public API — opens a new tab with a random dog photo. Updated config.js, handlers.js. Opened PR #66 to merge into feature/stub-app. |
#66 |
| Amin Abu-Hilga | Implemented Button 1 (Turkey Weather Portal), reviewed PR#70, PR#65 | PR#67 |
| Övgü Su Afşar | [Implemented personal button for the stub-app, organized role choosing for development, help write lab report] | #69 |
| Halis Tunay Aslan | [Insert Task] | [#Issue] |
| Muhammet Sami Çakmak | Implemented Button 3 for the stub-app, Updated config.js, handlers.js, contributed writing lab report. |
#71 |
| Beratcan Doğan | implemented the 'Random Joke Generator' button which fetches and dynamically displays data from a public API on a new page, and Dockerized the stub application. Additionally, I managed the team's integration process by handling pull requests, resolving merge conflicts, and successfully merging the changes. | #65 |
| İbrahim Kayan | Implemented Button 5 using the Random User public API — opens a new tab displaying a user profile with their name, country, and photo. Updated config.js and handlers.js and added Dockerfile. Opened PR to merge into feature/stub-app. |
#68 |
| Mehmet Bora Sarıoğlu | Implemented personal button for the stub-app, organized role choosing for development, help write lab report | #70,#63 |
Team Members
- Lab 1 Report (12/02/2026)
- Lab 2 Report (19/02/2026)
- Lab 3 Report (26/02/2026)
- Lab 4 Report (05/03/2026)
- Lab 5 Report (12/03/2026)
- Lab 6 Report (26/03/2026)
- Lab 7 Report (02/04/2026)
- Lab 8 Report (18/04/2026)
- Lab 9 Report (30/04/2026)
- Lab 10 Report (07/05/2026)
- Weekly Meeting Notes Template
- Lab Meeting 1 (12.02.2026)
- Weekly Meeting 1 (16.02.2026)
- Weekly Meeting 2 (24.02.2026)
- Weekly Meeting 3 (04.03.2026)
- Weekly Meeting 4 (11.03.2026)
- Weekly Meeting 5 (23.03.2026)
- Weekly Meeting 6 (29.03.2026)
- Weekly Meeting 7 (11.04.2026)
- Weekly Meeting 8 (28.04.2026)
- Weekly Meeting 9 (10.05.2026)
- Use Case Diagram 1 (New Mentor User for Mobile Scenario)
- Use Case Diagram 2 (Mentor-Mentee Matching Scenario)
- Use Case Diagram 3 (New Mentee User Scenario)
- Final Use Case Diagram
- MVP Use Case Diagram
- All Sequence Diagrams
- Sequence Diagram: Mentee Matching
- Sequence Diagram: Mentor Matching
- Sequence Diagram: Mentorship Management
- Sequence Diagram: Registration
- Sequence Diagram: Cancelling Mentorship Relationship and Auto Ban
- Sequence Diagram: Login-Logout
- Sequence Diagram: Reporting-User
- Sequence Diagram: Mentor Profile Management
- MVP Sequence Diagrams
- Test Plan & Coverage (MVP)
- Acceptance Testing Strategy
- Acceptance Tests
- Test Data Strategy
- Web Frontend Test Report
- Amin Abu-Hilga
- Övgü Su Afşar
- Muhammet Sami Çakmak
- Beratcan Doğan
- İbrahim Kayan
- Burak Ögüt
- Mehmet Bora Sarıoğlu
- Future Work (reference, not a deliverable)