Bahadır Kuşcan - bounswe/bounswe2025group1 GitHub Wiki
I am Bahadır Kuşcan, a junior year computer engineering student at Bogazici University. I have experience in cyber security, web application security testing and ethical hacking. I also enjoy sailing as a fellow racer in Bogazici University Sailing Team.
-
Programming Languages:
- Java
- Python
- C/C++
- Assembly
- JavaScript
- SQL
-
Tools & Software:
- Kali Linux tools and Burp Suite
- Penetration Tester – BuSiber (Oct 2024 – Present)
- Offensive Security Intern – Turkcell (Aug 2024 – Sep 2024)
- Undergraduate Assistant – CoLoRs Lab (Feb 2024 – Sep 2024)
- Sailing
- TV Series and Movies
- Team Sports
- Memes
- Email: [email protected]
- Github
📅 Week 1
| Task Name | Issue of the Task | PR of the Task |
|---|---|---|
| Creating Personal Wiki Page | Issue #13 | - |
| Weekly Team Meeting #1 | - | - |
📅 Week 2
| Task Name | Issue of the Task | PR of the Task |
|---|---|---|
| Weekly Team Meeting #2 | Issue #19 | - |
| Creating Elicitation Questions Wiki Page | Issue #21 | - |
📅 Week 3
| Task Name | Issue of the Task | PR of the Task |
|---|---|---|
| Reviewing Project Requirements Wiki Page | Issue #31 | - |
| Creating Scenario 6 and updating Project Requirements | Issue #35 | - |
| Creating Glossary Wiki Page and updating Project Requirements | Issue #38 | - |
| Customer Meeting | Issue #41 | - |
| Weekly Team Meeting #3 | Issue #42 | - |
| Customer Meeting Note Taking/Documentation | Issue #43 | - |
📅 Week 4
| Task Name | Issue of the Task | PR of the Task |
|---|---|---|
| Updated Scenario 6 | Issue #53 | - |
| Determined Use Cases and Created Draft Wiki Pages | Issue #54 | - |
| Weekly Team Meeting #4 | Issue #51 | - |
📅 Week 5
| Task Name | Issue of the Task | PR of the Task |
|---|---|---|
| Created Use Case Diagrams #3 and #4 | Issue #60 | - |
| Tested Push Restriction to Main with a Workflow | Issue #66 | PR #65 |
| Initiated General Review of Wiki | Issue #69 | - |
| SRS Revision | Issue #74 | - |
| Class Diagram Revision | Issue #77 | - |
📅 Week 6-9
No work done due to Academic Boycott. Attended Weekly Meetings #7 and #8 to keep up with others.
📅 Week 10
| Task Name | Issue of the Task | PR of the Task |
|---|---|---|
| Reviewed Backend Setup | - | PR #140 |
| Implemented Login, Register and Password Reset Features for Backend | Issue #129 | PR #142 |
| Reviewed and Performed Integration Tests on Profile Features | Issue #148 | PR #146 |
📅 Week 11
Spring Break (Got my laptop stolen in Vienna)
📅 Week 12
| Task Name | Issue of the Task | PR of the Task |
|---|---|---|
| Weekly Team Meeting #9 | - | - |
📅 Week 13
| Task Name | Issue of the Task | PR of the Task |
|---|---|---|
| Reviewed and Performed Integration and Unit Tests on External Weather API Call | Issue #179 | PR #178 |
| Detected and Fixed Unit Test Bugs | Issue #181 | PR #197 |
| Worked on Mobile Forgot Password Implementation, Failed due to Friend's Local Machine Setup | Issue #186 | - |
| Reviewed Project Dockerization | Issue #136 | PR #147 |
| Reviewed my-gardens Endpoint | Issue #195 | PR #196 |
| Updated Main README | - | PR #199 |
| Reviewed Frontend Bug Fix | - | PR #200 |
| Collaboratively Deployed the Project | Issue #137 | PR #192 |
Besides writing unit tests and fixing bugs and therefore spending lots of time on the OpenWeather API call that is utilized in the project, I additionally implemented a Treffle API call which is NOT utilized in the project.
The Plant Search API allows users to search for information about plants by name. It acts as a bridge between our Django application and the Trefle plant database, returning data such as common names, scientific names, and images.
This is useful in a garden task planning or forum platform where users may want to:
-
Look up plant information before scheduling a task
-
Add plant details to forum posts
-
Auto-fill care instructions based on plant type
-
Input: A query string (q) with the name of the plant the user wants to search.
-
Processing:
-
The view reads the query.
-
Sends a GET request to the Trefle Plant API.
-
Retrieves matching plant data.
-
-
Output: A JSON response containing a list of plants that match the search term.
A user types "tomato" into a search bar in your web app. The frontend sends a request to:
GET /api/plant-search/?q=tomato
The backend makes a request to Trefle and responds with something like:
[
{
"id": 12345,
"common_name": "Tomato",
"scientific_name": "Solanum lycopersicum",
"image_url": "https://.../tomato.jpg"
}
]
This can then be shown in the UI for users to select or learn from.
-
Method:
GET -
Route:
/api/plant-search/ -
Parameters:
- q (required): The search term (e.g., "lavender", "mint")
-
Returns: JSON list of plants or error if query is missing/failed
-
Relies on: Trefle API and a valid API token stored in Django settings
-
Simplifies plant data integration
-
Reduces the need to store a local plant database
-
Makes the app more interactive and educational
-
Encourages accurate plant identification for task planning
This API call was NOT utilized in the project. Implementing branch that does not have a PR can be found here.