-
Notifications
You must be signed in to change notification settings - Fork 4
Final Milestone Review
Prepared by:
Furkan Özçelik
Hasan Baki Küçükçakıroğlu
Bahadır Gezer
Meriç Keskin
Sude Konyalıoğlu
Begüm Yivli
Bahri Alabey
Ömer Faruk Çelik
Enes Yıldız
Egemen Kaplan
Video: Web Info Aggregator - Demo
BunchUp is a web aggregation application which aims to collaboratively save and organize nodes from the Internet. The application solves the problem of bookmarking that it is scattered and dies away after a while. In our team we focused to ease this process of saving nodes of the Internet and tried to make it fun.
We have implemented annotations to our project by the ability to add extra comments to spot descriptions. This way users can interact better and emphasize the things they want to better.
Our product’s design is made beforehand the implementation, this made the implementation easier and let us see the lacks of our project clearer. The designs were also helped building a easy-to-read organization.
Our project is deployed on an EC2 machine.
Our annotation server uses a different url for its endpoints.
- In the web application, the host url for annotation requests were hard-coded in the code. Thats why, when we closed our EC2 machine and restarted it before writing the report, annotation endpoints were not working. In order for them to work, you need to find 4 or 5 occurrences of this host url and change the IP part of these urls to the url you will see in the .env file. (Don’t forget the :80/wia suffix)
- Due to the same underlying reasons, the previous IP address, 18.192.100.93:80, utilized for API calls within the mobile application, needs to be updated to 3.79.231.219:80 across five distinct instances within the mobile code.
One of the most important lessons we have learned was in Milestone 2, we now avoid making changes to our project at the last minute. We renamed Interest Area and Post to Bunch and Spot, which is more original and purposeful, but sometimes we confused the name in our own documentation, so we could have made this change earlier. We changed the mock-up designs in the middle of the semester, there was a risk that we couldn't deliver the functions on time, but we did, so we have a platform that is more aesthetic and provides a better user experience. Apart from that, we have always valued customer feedback and implemented them in the next milestones.
Deliverable | Status | Notes |
---|---|---|
Final Project Team Report | Delivered / Complete | |
Individual Contributions | Delivered / Complete | |
All design documents | Delivered / Complete | |
Software release in GitHub | Delivered / Complete | |
Video | Delivered / Complete |
Requirement ID | Name | Status | Notes |
---|---|---|---|
1 | Functional Requirements | ||
1.1 | - User Requirements | ||
1.1.1 | - Registration and Login | Completed | |
1.1.1.1 | - Guests shall be able to register... | Completed | |
1.1.1.2 | - Users shall be able to login... | Completed | |
1.1.2 | - Account | ||
1.1.2.1 | - Guests shall verify their account... | Completed | |
1.1.2.2 | - Delete account | Completed | |
1.1.2.3 | - Update account | ||
1.1.2.3.1 | - Change passwords and other account information | Completed | |
1.1.2.3.2 | - Users shall not be able to change their username, email address, and birthday. | Completed | |
1.1.2.5 | - Users shall have control over privacy settings of IAs. | Completed | |
1.1.3 | - User-to-User Interactions | ||
1.1.3.1 | - View other users' profiles... | Completed | |
1.1.3.2 | - Follow other users on the platform. | Completed | |
1.1.3.3 | - Vote on other users based on their profile, behavior, and activity... | Completed | |
1.1.4 | - User-to-Platform Interactions | ||
1.1.4.1 | - Posts | ||
1.1.4.1.1 | - Creating a post in an IA by providing a title, a main link... | Completed | |
1.1.4.1.2 | - Editing fields of their own post. | Completed | |
1.1.4.1.3 | - Commenting on a post. | Completed | |
1.1.4.1.4 | - Down/Upvoting a post. | Completed | |
1.1.4.1.5 | - Reporting inappropriate posts to IA moderators. | Completed | |
1.1.4.1.6 | - Annotating any post in order to give more detailed information about certain parts of these posts. | Completed | |
1.1.4.1.7 | - Suggesting additional tags to posts created by other users. | Completed | |
1.1.4.2 | - Interest Areas | ||
1.1.4.2.1 | - Creating an interest area by providing a title, tags... | Completed | |
1.1.4.2.2 | - Editing fields of interest areas... | Completed | |
1.1.4.2.3 | - Following other IAs. | Completed | |
1.1.4.2.4 | - Joining private IAs. | Completed | |
1.1.4.2.5 | - Creating posts in interest areas... | Completed | |
1.1.4.2.6 | - Suggesting additional tags to IAs created by other users. | Completed | |
1.1.4.2.7 | - Reporting inappropriate IAs to System Administrators. | Completed | |
1.1.4.2.8 | - Managing roles of other users in their own interest areas. | Not completed | |
1.2 | System Requirements | ||
1.2.1 | - Content | ||
1.2.1.1 | - Post | ||
1.2.1.1.1 | - Shall have an IA. | Completed | |
1.2.1.1.2 | - Shall have a title. | Completed | |
1.2.1.1.3 | - Shall have a main body... | Completed | |
1.2.1.1.4 | - Shall contain required relevant metadata... | Completed | |
1.2.1.1.5 | - Shall contain optional relevant metadata... | Completed | |
1.2.1.1.6 | - Shall have comments, upvotes, and downvotes. | Completed | |
1.2.1.1.7 | - Shall specify its purpose by labels. | Completed | |
1.2.1.2 | - Interest Areas (IA) | ||
1.2.1.2.1 | - Shall consist of posts created by their users or posts created within their nested IAs. | Completed | |
1.2.1.2.2 | - Shall be able to consist of a collection of other IAs. | Completed | |
1.2.1.2.3 | - Shall obtain at least one semantic label(tag) during their creation. | Completed | |
1.2.1.2.4 | - Shall have a "Recommended IAs" section... | Not completed | |
1.2.1.2.5 | - Offers various access levels...(public, private, personal) | Completed | |
1.2.1.3 | - Home Page | ||
1.2.1.3.1 | - Displaying recent posts from followed interest areas and users. | Completed | |
1.2.1.3.2 | - Suggesting new posts and interest areas... | Not completed | |
1.2.1.4 | - Annotations | ||
1.2.1.4.1 | - Annotations shall have the W3C Web Annotation Data Model. | Completed | |
1.2.1.4.2 | - Annotations shall appear in form of... | Completed | |
1.2.1.4.3 | - Annotations shall appear in form of a highlight made on the annotated text without displaying any extra content. | Completed | |
1.2.1.4.4 | - Annotations shall only be placed on Post main bodies. | Completed | |
1.2.2 | - Search and Filtering | ||
1.2.2.1 | - The system shall allow users to search for posts, users, and IAs. | Completed | |
1.2.2.2 | - The system shall enable post filtering by interest areas, date, location, and other metadata. | Not completed | |
1.2.2.3 | - The system shall enable the user to sort search results by relevance, date, and popularity. | 2/3 Completed | sort by relevance is missing |
1.2.2.4 | - The system shall allow public and private IAs to be searchable. | Completed | |
1.2.3 | - Labeling | ||
1.2.3.1 | - Tags | ||
1.2.3.1.1 | - The system shall utilize Wikidata API for semantic labelig. | Completed | |
1.2.3.1.2 | - Each tag shall each tag shall be able to display more semantically related tags… | Not completed | |
1.2.3.1.3 | - The system shall facilitate post and IA searching by tags | Completed | However it is not semantic search |
1.2.3.1.5 | - Tags shall allow users to find interest areas and posts. | Completed | |
1.2.3.2 | - Reputation system | ||
1.2.3.2.1 | - The system shall allow users to vote on other users… | Completed | |
1.2.3.2.2 | - Votes shall represent either positive or negative quality… | Completed | |
1.2.3.2.3 | - The system shall assign badges to users... | Completed | |
1.2.4 | - Reporting and Moderation | ||
1.2.4.1 | - Moderation Dashboard | ||
1.2.4.1.1 | - Removing inappropriate posts from the IA. | Not completed | |
1.2.4.1.2 | - To warn users that create such inappropriate posts... | %50 Completed | backend completed |
1.2.4.1.3 | - Banning users from the IA. | Not completed | |
1.2.4.1.4 | - Reporting issues to System Administrators... | %50 Completed | backend completed |
1.2.4.2 | - Administration Dashboard | ||
1.2.4.2.1 | - Removing inappropriate posts or IAs from the platform. | %50 Completed | backend completed |
1.2.4.2.2 | - Warning users that create such inappropriate posts... | %50 Completed | backend completed |
1.2.4.2.3 | - Banning users from the platform. | %50 Completed | backend completed |
1.2.5 | - Account Management | ||
1.2.5.1 | - All account information should be deleted when a user's account is deleted. | Completed | |
1.2.5.2 | - All private IAs created by deleted account should be deleted. | Completed. | We don’t delete private and public interest areas since customer wanted so. We only delete personal interest areas. |
1.2.5.3 | - Public posts, comments, … of deleted account shall remain visible on the platform. | Completed | |
1.2.5.4 | - The system shall not allow creating more than one account with the same email address. | Completed | |
1.2.5.5 | - The system shall check the birthday of a user during the access to age-restricted content | Completed | |
2 | Non-Functional Requirements | ||
2.1 | - Platforms | ||
2.1.1 | - Application shall be available for Web and Android platforms. | Completed | It is also available for IOS. |
2.1.2 | - The web version of the application shall be compatible with common browsers. | Completed | |
2.1.3 | - The Android version of the application shall be compatible with Android 5.0 and higher. | Completed | |
2.2 | - Security | ||
2.2.1 | - User authorization information shall be encrypted. | Completed | 256 bit encryption |
2.2.2 | - The application shall implement strong password requirements... | Not completed | |
2.3 | - Privacy and Ethical Considerations | ||
2.3.1 | - The platform shall protect personal information and contact information... | Completed | |
2.3.2 | - The application shall have a concrete "Community Guidelines"... | Not completed | We have privacy policy but not community guidelines |
2.4 | - Restricted Content | ||
2.4.1 | - Adult content should have age restrictions. | Completed | No automatic adult content tagging(it is kinda big tech level) but user can tag content as adult content. |
2.4.2 | - Application shall not contain criminal content and gore. | Completed | No automatic mechanism(it is kinda big tech level) but content can be deleted by administrators. |
Explore our API through the comprehensive documentation available on Postman. You'll find details on endpoints, request and response formats, and example API calls.
-
-
Endpoint:
{{host}}/v1/interest-area
- Method: POST
-
Required Fields for Request Body:
-
accessLevel
: 0 | 1 | 2 (public | private | personal) -
title
: String -
description
: String -
nestedInterestAreas
: Array -
wikiTags
: Array
-
- Example Request
-
Endpoint:
-
-
Endpoint:
{{host}}/v1/post
- Method: POST
-
Required Fields for Request Body:
-
interestAreaId
: Long -
sourceLink
: String -
title
: String -
wikiTags
: String -
label
: 0 | 1 | 2 | 3 | 4 (documentation | learning | news | research | discussion) -
content
: String -
isAgeRestricted
: Boolean -
GeoLocation
: Object(latitude: Float, longitude: Float, address: String)
-
- Example Request
-
Endpoint:
-
-
Endpoint:
{{host}}/v1/interest-area/:interestAreaId/posts
- Method: GET
-
Required Parameters:
-
interestAreaId
: Long
-
- Example Request
All three requests require a valid JWT token for security. Include the token in the "Authorization" header as a "Bearer" token. Set the
{{host}}
field to "3.79.231.219/api," the current EC2 instance host URL. If you have Postman installed, run all three example requests by right-clicking the Postman folderexamples
and selecting "Run Folder." -
Endpoint:
-
Member
-
Visitor
- Explore Page
- Profile Page, Profile Header, Small Interest Area Card
- Owner of the profile
- Other Users
- Other Users Following Modal
- Owner looking at Suggested Tags (same in bunch page as well)
- Other Users
- Other User Suggesting Tags (same in bunch page as well)
-
Owner
- Owner looking at follow requests
- Other User
- Other User trying to look at a private bunch without enough access level
In the frontend side, everyone can annotate spots and see other users' annotations. When annotations are visible users might mess up with annotations, so we require users to hide other annotations first by clicking a button. Then user should highlight the section of text which she wants to highlight, then from the input field on the right hand side of screen she can complete this annotation by providing body. Then user can choose to display other annotations again.
On the right hand side of the screen there is a dropdown to filter annotations by users, we included this because otherwise there might be too many annotations in a popular post. Below that dropdown, there is a search bar, from this bar user can filter by input, this search is done by string matching(considering lowercase-uppercase) search input to target or body of annotation.
We also considered case of conflicting annotations, for example assume there is an annotation on 0-5 range and 0-15 range of a text, we simply merge that range while highlighting and if user hovers over that area, on the right hand side(on sidebar) we display annotations that belong to that merged annotation region.
The annotations are not editable/removable. Users can't annotate images.
On the mobile side, everything is more or less the same as the web part.
The server architecture is designed as a standalone system, complete with its own application layer and database, in compliance with the W3C recommendations for web annotations.
Server Architecture
Our Web Annotation Server is made to operate autonomously, with a dedicated application and database. This design choice aligns with the W3C's guidelines for a robust and self-sufficient annotation ecosystem.
JSON-LD Implementation
Our server exclusively processes requests and responses formatted in JSON-LD (JSON Linked Data). Any request without the proper headers are not processed.
Annotation Containers, Annotations and Requests
The server's implementation of annotation containers, annotations and requests is in line with W3C’s model. The URLs, request bodies, and headers are in line with the standards.
Response Fields
Responses from our sever are structured in the JSON-LD format. All necessary fields are present as required by W3C. Our response format ensures that our annotations provide the necessary information in a structured and understandable manner.
Target Implementation
For the 'target' component of our annotations, we have chosen to only implement the TextualBody type targets. This decision was made to focus our annotations on text-based resources, allowing for ease of development. This restriction did not restrict the potential of the application, since the use of other resources other than text is minimal, and practically does not require the addition of annotations.
Please check the /annotation
folder in our Postman API documentation for further investigation and example API calls and responses.
Main User: Bahri
Sub User: Begüm
Bahri is planning to go to Italy for his master's education.
- He enters "Italy" in the search bar and discovers Begüm’s “Traveling Europe Bunch.”
- He follows the bunch.
A post titled "Toss a coin to your fountain!" spotted by Enes catches Bahri's attention. He comments under it, inquiring about directions to the Trevi Fountain.
- Bahri suggests some new tags to Begüm for the “Travelling Europe” bunch, adding an “Italy TAG.”
He then creates a new PRIVATE Bunch titled “Masters in Europe,” which includes sub-bunches:
- Learning Italian
- Travelling in Europe
Within the "Masters in Europe" bunch, Bahri finds and shares a valuable link:
- [Top Universities for Computer Science & Information Systems](https://www.topuniversities.com/university-subject-rankings/computer-science-information-systems)
- He notes that this website is comprehensive, offering lists of top schools for master's education in CS (Computer Science), and includes information on scholarships.
Bahri annotates "CS" as an abbreviation for "Computer Science."
Begüm checks her “Traveling Europe Bunch” and sees the tag suggestion made by Bahri, which she accepts.
- She searches for "master" in the search bar and finds Bahri’s “Masters in Europe Bunch.”
- She sends a follow request, which Bahri accepts.
Begüm then reviews the spots in the “Masters in Europe” bunch:
- She comments under the spot and
- Annotates “scholarship” as: "A grant or payment made to support a student's education, awarded on the basis of academic or other achievement."
-
Manuals
- User Manual
- System Manual
-
Software Design Documents
-
User Scenarios
-
Research
The integration of the W3C Web Annotation Data Model into our platform has brought substantial contributions. The incorporation of annotations has enriched our posts, adding valuable context to the content and enhancing user understanding. Users have contributed by introducing unique descriptions and keyword groups, further enriching the content with different perspectives. This collaboration has led to a dynamic and comprehensive platform experience, reflecting the collective knowledge and insights of our user community.
Through group research, we determined that using Java Spring on the backend, React with TypeScript on the frontend, and Flutter for mobile development was the most suitable choice for our project. These technologies were selected for their adaptability and effectiveness, as well as our team members' background knowledge.
We conducted API research to add geolocation to our spots and decided on the Google Maps API. Its ease of use and detailed location information have added another sophisticated feature to our platform. Users can select the relevant location when creating a spot, providing more detailed information to the platform.
Additionally, we researched and used wiki tags in our platform. Wiki tags help organize content, making it easier for users to find what they're looking for, enhancing the accessibility of relevant content when searched with a keyword.
-
Unit Test Reports (Not completed)
- All items are under the same host thanks to proxy.
- Hostname: http://bunchup.com.tr/ or 3.79.231.219
- API: http://bunchup.com.tr/api or 3.79.231.219/api
- Annotation API: http://bunchup.com.tr/wia or 3.79.231.219/wia
- Released. Go to release.
- All instructions for building are provided in the build description and project report.
- Relevant private information (such as environment variables, passwords, etc.) is provided in the "secret" folder in milestone deliverables. Build instructions explain how to use this folder.
Pre-requisites
- Docker
- Docker-Compose
- Git
Pre-build
-
Clone the Repository
git clone <https://github.com/bounswe/bounswe2023group8.git>
-
Database Environment Configuration (Required) Navigate to the root directory:
cd bounswe2023group8/app
Create a .env.annotation-db file and populate it with the values provided in the
annotation-db
file, which is located in the 'secrets' folder of the deliverables uploaded to Moodle. -
Database Environment Configuration (Required) Navigate to the root directory:
cd bounswe2023group8/app
Create a .env.enigma-db file and populate it with the values provided in the
enigma-db
file, which is located in the 'secrets' folder of the deliverables uploaded to Moodle. -
Backend Environment Configuration (Required) Navigate to enigma directory:
cd bounswe2023group8/app/backend/enigma
Create a .env file and populate it with the values provided in the
enigma-server
file, which is located in the 'secrets' folder of the deliverables uploaded to Moodle. -
Backend Environment Configuration (Required) Navigate to the annotation directory:
cd bounswe2023group8/app/backend/annotation
Create a .env file and populate it with the values provided in the
annotation-server
file, which is located in the 'secrets' folder of the deliverables uploaded to Moodle. -
Frontend Environment Configuration (Required) Navigate to the web directory and modify the
.env.development
file:cd bounswe2023group8/app/web
Replace IP of the
REACT_APP_BACKEND_API_URL
with the IP of the host machine. (localhost if in local environment)
Build steps
-
Navigate to App Directory
cd bounswe2023group8/app
-
Start Services with Docker-Compose
docker-compose up
If you encounter any issues in determining the correct values, please contact @bakikucukcakiroglu to obtain a valid .env file.
After running the above steps, your application should be up and running. You can send requests to 80 port of the host machine. Make sure to check any logs for potential issues during startup.
System Requirements:
- Operating System: Windows (7 SP1 or later), macOS (10.12.0 or later), Linux (64-bit) or Android Device
- Disk Space: 2.8 GB for Windows, 4.5 GB for macOS, and 2.8 GB for Linux
- Tools: Android Studio for APK on the emulator, Xcode for iOS version on the simulator
- Allow Chrome to install unknown apps by going to Settings > Apps > Menu > Special access > Install unknown apps.
- Install a file manager (such as Cx File Explorer or File Manager) so that you can find the APK file after you download it to your phone.
- Download the APK file from here and open it to install it. Alternatively, transfer the APK Installer from your computer using USB.
- Download Flutter: Visit the Flutter website and download the latest stable release suitable for your operating system.
- Extract the Zip File: Extract the downloaded file to a location on your computer.
-
Add Flutter to PATH (Windows):
- From the Start search bar, type 'env' and select 'Edit the system environment variables.'
- Click 'Environment Variables...'
- Under 'System Variables', select 'Path' and click 'Edit...'
- Click 'New' and add the path to the 'bin' folder in the Flutter directory.
-
Run
flutter doctor
: Open a terminal or command prompt and runflutter doctor
to verify the Flutter installation and to identify any missing dependencies.
- Download Android Studio: Install Android Studio from the official website.
-
Launch Android Studio and navigate to
Tools > AVD Manager
. -
Create a Virtual Device: Click on
+ Create Virtual Device
, select a device definition, and follow the prompts to create an Android emulator. - Run the Emulator: Start the emulator by clicking on the play button next to the created device in the AVD Manager.
- Install Xcode: Download and install Xcode from the Mac App Store.
- Open Xcode: Accept the license agreement and install any necessary components.
-
Open the iOS Simulator: Launch Xcode, then go to
Xcode > Open Developer Tool > Simulator
.
Choose an IDE: Select an Integrated Development Environment (IDE) such as Visual Studio Code (VS Code), Android Studio, Xcode, etc. Download and install the IDE of your choice.
Integrate with Flutter: If you're using VS Code, install the Flutter and Dart extensions to make your IDE Flutter-ready.
Open a Terminal or Command Prompt.
Get the Clone URL: Get the clone URL for the project repository from a source like GitHub.
Navigate to a Desired Folder: Navigate to the directory where you want to store the project on your computer.
Clone the Project: Use the following command to clone the project:
git clone https://github.com/bounswe/bounswe2023group8.git
Step 4: Install Dependencies
Move to the Project Directory: Use the Terminal or Command Prompt to navigate to the project's root directory.
Install Dependencies: Run the following command to install the project's dependencies:
flutter pub get
- Once your simulator/emulator is ready: In the terminal, navigate to your Flutter project directory
/mobile
and executeflutter run
to launch the app - Once the application is installed on the emulator/device, interact with it as you would with any other mobile application.
- Use the emulator/simulator controls to simulate touch, gestures, and other interactions as needed for testing the application.
Remember, Flutter offers a rich set of documentation and resources that can further assist with troubleshooting.
During the development process, our team rigorously tested our application on a range of devices to ensure its compatibility and performance. At the same time we verified and validated the user and system manuals.
The devices used for testing include:
- MacBook Air M1
- 2 x MacBook Pro M1
- HP Spectre
- iPhone X
- iPhone XS
- iPhone 14
- iPhone 15
- Oppo Reno 2Z
- Google Pixel 4a
Exported real database data is uploaded to drive. [Go to drive.](https://drive.google.com/drive/folders/1LsgyaHMSg42Pe6fd1U-l8Fj35JXGEoTj?usp=sharing)
- Bahadır Gezer - Final Milestone
- Bahri Alabey - Final Milestone
- Begüm Yivli - Final Milestone
- Egemen Kaplan - Final Milestone
- Enes Yıldız - Final Milestone
- Hasan Baki Küçükçakıroğlu - Final Milestone
- İbrahim Furkan Özçelik - Final Milestone
- Meriç Keskin - Final Milestone
- Sude Konyalıoğlu - Final Milestone
- Ömer Faruk Çelik - Final Milestone
🗄️ Project
Milestones
👤 Individual Contribution Reports
Milestone 1
- Bahadır Gezer - Milestone 1
- Bahri Alabey - Milestone 1
- Begüm Yivli - Milestone 1
- Egemen Kaplan - Milestone 1
- Enes Yıldız - Milestone 1
- Hasan Baki Küçükçakıroğlu - Milestone 1
- İbrahim Furkan Özçelik - Milestone 1
- Meriç Keskin - Milestone 1
- Miraç Öztürk - Milestone 1
- Sude Konyalıoğlu - Milestone 1
- Ömer Faruk Çelik - Milestone 1
Milestone 2
- Bahadır Gezer - Milestone 2
- Bahri Alabey - Milestone 2
- Begüm Yivli - Milestone 2
- Egemen Kaplan - Milestone 2
- Enes Yıldız - Milestone 2
- Hasan Baki Küçükçakıroğlu - Milestone 2
- İbrahim Furkan Özçelik - Milestone 2
- Meriç Keskin - Milestone 2
- Miraç Öztürk - Milestone 2
- Sude Konyalıoğlu - Milestone 2
- Ömer Faruk Çelik - Milestone 2
Final Milestone
- Bahadır Gezer - Final Milestone
- Bahri Alabey - Final Milestone
- Begüm Yivli - Final Milestone
- Egemen Kaplan - Final Milestone
- Enes Yıldız - Final Milestone
- Hasan Baki Küçükçakıroğlu - Final Milestone
- İbrahim Furkan Özçelik - Final Milestone
- Meriç Keskin - Final Milestone
- Sude Konyalıoğlu - Final Milestone
- Ömer Faruk Çelik - Final Milestone
🖇️ Lab Reports
📑 Templates
👥 Team Members
CmpE 352
Old Project Files
📅 Meetings
🔬 Researches
👤 Individual Contribution Reports
- Bahri Alabey - Milestone 1
- Bahri Alabey - Milestone 2
- Ömer Faruk Çelik - Milestone 1
- Ömer Faruk Çelik - Milestone 2
- Bahadır Gezer - Milestone 1
- Bahadır Gezer - Milestone 2
- Egemen Kaplan - Milestone 1
- Egemen Kaplan - Milsetone 2
- Meriç Keskin - Milestone 1
- Meriç Keskin - Milestone 2
- Orkun Kılıç - M1
- Orkun Kılıç - M2
- Sude Konyalıoğlu Milestone 1
- Sude Konyalıoğlu Milestone 2
- Hasan Baki Küçükçakıroğlu Milestone 1
- Hasan Baki Küçükçakıroğlu Milestone 2
- Ibrahim Furkan Özçelik Milestone 1
- Ibrahim Furkan Özçelik Milestone 2
- Miraç Öztürk
- Enes Yıldız Milestone 1
- Enes Yıldız Milestone 2
- Begüm Yivli M1
- Begüm Yivli M2