Untitled

mail@pastecode.io avatar
unknown
plain_text
7 months ago
36 kB
0
Indexable
Never


	








YEDITEPE UNIVERSITY
SCHOOL OF APPLIED SCIENCES












SUMMER PRACTICE & INTERNSHIP REPORT
(STAJ DEFTERİ)
























EXCELLENCE IN EDUCATION IS OUR PRIME MOTIVE



SUMMER PRACTICE & INTERNSHIP REPORT
(STAJ DEFTERİ)

LAST NAME OF THE STUDENT
(ÖĞRENCİNİN SOYADI):
 HATİPOĞLU
NAME OF THE STUDENT
(ÖĞRENCİNİN ADI):
Ahmet Serdıl
DEPARTMENT (BÖLÜMÜ):
Software Development
BEGINNING DATE
(STAJIN BAŞLANGIÇ TARİHİ) :
01.08.2022
ENDING DATE
(STAJIN BİTİŞ TARİHİ)
12.09.2022
SIGNATURE OF THE STUDENT 
(ÖĞRENCİNİN İMZASI) :


NAME & ADDRESS OF THE INSTITUTION
(İŞYERİNİN ÜNVANI VE ADRESİ) :
Cybersoft Enformasyon Teknolojileri – Dudullu OSB DES 2.Cad. No:8 Kat:6 Kapı No:81 Dudullu Ümraniye İstanbul/Türkiye
SIGNATURE & STAMP OF THE INSTITUTION
(İŞYERİNİN İMZASI VE MÜHÜRÜ):



GRADING CHART
EVALUATION OF SUMMER PRACTICE/INTERNSHIP REPORT (100 Points)


(i) Work place Evaluation
 / 30 Points




(ii) Quality of Daily Reports
 / 30 Points




(iii) Quality of General Report
 / 30 Points




(iv) Report Presentation
 / 10 Points




TOTAL
= / 100 Points




 OVERALL LETTER GRADE:






ÇALIŞILAN DEPARTMANLARLA İLGİLİ BİLGİLER / INFORMATION ABOUT THE DEPARTMENTS IN WHICH STUDENT HAS WORKED. 
BERABER ÇALIŞILAN YETKİLİ KİŞİ (KİŞİLERİN) SOYADI, ADI 
(LAST NAME, NAME (s) OF THE RESPONSIBLE PERSON(s)). 
DEPARTMAN
(DEPARTMENT)
ÇALIŞILAN DÖNEM (INTERNSHIP PERIOD)
ÇALIŞILAN TOPLAM GÜN SAYISI (TOTAL NUMBER OF WORK DAYS) 
Deniz KURTO
Ana Bankacılık
Zorunlu Staj
30
Hasan DEMİRELLİ
Ana Bankacılık
Zorunlu Staj
30


















KISIM 1: ÖNSÖZ (PART 1: ACKNOWLEDGEMENTS)
The courses taught at our universities to young talents, who are the future of the country, are aimed at increasing the productivity that software development urgently needs and improving the technologies it uses, and is extremely important for the continuity of the companies. It is known that internships and similar practices are very important for the development of our country and continuous effort is required for success.

My internship at Cybersoft has been very beneficial for me in terms of progressing in my software career. With the project I did, I got a lot of information about how the process of a software product progresses from development to presentation. I think that the work I do is very important because the project I am doing is a project that will be used continuously by the company.









KISIM 2: İÇİNDEKİLER (PART 2: CONTENTS)					
KISIM / PART
KONU BAŞLIĞI (NAME OF THE TOPIC COVERED)
TARİH / DATE
First week
Company working environment
01.08.2022
First week
How VDI works
02.08.2022
First week
Cybersoft framework introduction
03.08.2022
First week
Started Flutter
04.08.2022
First week
Started Github
05.08.2022
Second week
Getting to know the Github workspace
08.08.2022
Second week
Working with Flutter Firebase
09.08.2022
Second week
What is Figma? What are Figma key elements?
10.08.2022
Second week
What is a widget? Widget usage.
11.08.2022
Second week
What is FirebaseAuth? What is FirebaseFirestore?
12.08.2022
Third week
What is API?
15.08.2022
Third week
What is Rest API?
16.08.2022
Third week
What can we do with API?
17.08.2022
Third week
What is Postman?
18.08.2022
Third week
How to use Postman?
19.08.2022
Fourth week
Accessing Api with http get structure.
22.08.2022


Fourth week
Analysis of API structure.
23.08.2022
Fourth week
API modelling.
24.08.2022
Fourth week
Getting json data.
25.08.2022
Fourth week
Accessing the encrypted API.
26.08.2022
Fifth week
API user privileges.
29.08.2022
Fifth week
Establishing the http structure.
31.08.2022
Fifth week
Api access with BasicAuth method.
01.09.2022
Fifth week
Providing API access with username and password.
02.09.2022
Sixth week
Datatable construction. Separation of pages into widgets.
05.09.2022
Sixth week
Interface design.
06.09.2022
Sixth week
Reflecting instant data.
07.09.2022
Sixth week
Extracting data from Api with favorite filters.
08.09.2022
Sixth week
Login page and Filter Page design.
09.09.2022
Seventh week
Project completion and presentation.
12.09.2022





KISIM 3: GİRİŞ (PART 3: INTRODUCTION)
I am a sophomore student at Yeditepe University Software Development Department. I completed my internship at Cybersoft company by working on the Jira Analytics project and delivering it. During my internship, we developed the project using the flutter programming language. Three people worked on the project simultaneously. Our project progressed completely in the form of synchronized work on github. We took all the data of the company with the Flutter language and calculated how long the people in the company worked on which projects. Likewise, we developed a mobile application that calculates how long it takes to develop projects and tasks within the company and tabulates this. With this project we have done, the managers in the company can see the working times on the tasks and projects in progress. In this way, company executives can easily see who is working how much and on which project they are working.









KISIM 4: GÜNLÜK/HAFTALIK RAPOR (PART 4: DAILY/WEEKLY REPORT) 
First Week of Intern
The working model within the Cybersoft company was explained to me by the company officials. I met the team that I will be with during the internship. They told me about their working models and gave information about the general operation of the company.
Date: 01.08.2022
Information about the VDI (Virtual Desktop Infrastructure) used by the company was given. Company account opened. The general documents of the company were given and I was told that I had to read these documents by the end of the day.
Date: 02.08.2022
VDI (Virtual Desktop Infrastructure) working environment was introduced. Thanks to its VDI infrastructure, it works in full compliance with the remote working model. VDI is also used when working in the office. When employees work remotely, they do not disrupt their work by using VDI.


What is VDI?
VDI (Virtual Desktop Infrastructure) is basically called desktop virtualization. Virtual desktops reside in a VM(Virtual Machine) on a central server. Each virtual desktop contains an operating system image.
Accessing VDI
There are 2 types of access methods to the VDI environment;
• VMware Horizon Client Application:
• Access from the Web Interface:
In order to connect to the Cybersoft VDI environment, by entering our Cybersoft VDI domain information, user name and password on the login screen and all users in the domain; have standard user rights on their computers.
Users on their virtual computers;
• Cannot change System and Network settings
• They cannot install or delete programs.
• They cannot stop or restart System and Security services.
• They cannot give special privileges to their users or any program.
Date: 03.08.2022
Cybesoft uses the framework it has developed in its projects. While Javascript is used for interface designs in this framework, Java is used for back-end operations, Python can also be used when necessary. Flutter is also used for mobile applications.
Date: 04.08.2022
Recognizing the Flutter development environment and explaining what can be done with Flutter.

What is FLUTTER?
Flutter; It can be defined as an SDK that allows you to develop mobile applications for platforms such as Android and iOS. It is a system that includes Framework, Widget and different tools, allowing you to develop a native application using only a code base. Flutter is an open source tool. All mobile designers and developers can use this tool free of charge.
This tool was released by Google in 2017. Flutter generally consists of two different elements;

Software Development Kit: Also known as SDK. It offers different tools for you to develop your mobile applications in a practical way. You can make the codes you write suitable for both IOS and Android.

Framework: It allows you to use the user interface (UI) components that you need to use during software development. Thanks to these components, you can get the chance to customize your mobile application project.

A programming language called Dart is used, similar to JavaScript, to develop an application over Flutter. Dart, developed by Google in 2011, is defined as an object programming language.
Date: 05.08.2022
In our VDI case we created our flutter project and got it on GitHub. 
Second Week of Intern
Github workspace is introduced. It was taught how to use github with Flutter.

What is GitHub?
GitHub; It is an internet-based storage service that a large team can use while developing software in a version control system. GitHub is used in software developed with the Git management system. Since it is an open source service, it is used and developed by many software teams.
It doesn't matter how many people use the GitHub service and how many people are working on a project at the same time. An internet connection is required to join the service and work on the project. Since it is internet-based, the entire team can see the changes made on the project with the GitHub service.

What does GitHub do?
GitHub service, even large software developer teams consisting of many people can work on the same project at the same time and make separate changes. In projects developed through this service, the team saves a lot of time. Because the same transactions are not done over and over again, there are no conflicts and the things to be decided in long meetings can be shown through this service and approved quickly.

Date: 08.08.2022
WHAT IS FLUTTER FIREBASE?
Firebase is a free platform developed by Google for building mobile and web applications. firebase; It handles basic operations such as application management, usage tracking, storage, notification forwarding without the need to write server-side code. With features such as Realtime Database, Notification, Remote Config, it provides access for each application separately.

Where is Firebase used?	

File storage: Firebase storage comes with its own security rules to allow you to control the details that need to be uploaded to your server.

Authentication: Firebase authentication works seamlessly with real-time database and storage to allow you to easily control access permissions to your data.

FLUTTER FIREBASE STRUCTURE:

 All Firebase Realtime Database data is stored as JSON objects. You can think of the database as a cloud-hosted JSON tree. Unlike a SQL database, there are no tables or records. When you add data to the JSON tree, it becomes a node with an associated key in the existing JSON structure. You can provide your own keys, such as user IDs or semantic names, or they can be provided for you using push().

Cloud Firestore, NoSQL, is a document-oriented database. Unlike SQL database, there are no tables or rows. Instead, you store data in documents organized into collections.

Collections and documents are created implicitly in Cloud Firestore. Simply assign data to a document within a collection. If the collection or document does not exist, Cloud Firestore creates it.

Documents: In Cloud Firestore, the storage is the document. A document is a lightweight record containing fields that match values. Each document is identified by a name.

Collections: Documents live only in collections that are containers for documents.

Cloud Firestore is schemaless, so you have complete freedom in which fields to put in each document and what types of data to store in those fields. Documents in the same collection can all contain or store different types of data in different fields. However, it's a good idea to use the same fields and data types in multiple documents so that you can query the documents more easily.
Date: 09.08.2022
What is FIGMA?

Figma is a cloud-based design and prototyping tool for digital projects. It is made so that users can work on projects collaboratively and almost anywhere. You can design, prototype and transfer developers with one tool. Figma is a cloud-based design tool similar to Sketch in functionality and features, but there are major differences that make Figma better for team collaborations.

Figma works on any operating system running a web browser and is the only design tool that works on every platform. So, if you are using a Mac or Windows operating system, you should not have any problems sharing files or switching to different platforms as it is cloud-based.

What Are the Key Elements of Figma?

1. Frames & Layout Grids
Choosing the preferred web or mobile screen frame size is our first step in every project. You can access the frames from the top panel or by pressing the "F" key on your keyboard as a shortcut. One of the features in Figma frames is the masking tool that hides the elements protruding from the frame. This can be especially useful for beginners.

Another thing is the use of layout grids in frames that can help you speed up the whole design process. Grid also serves as a useful, yet very simple to use tool in Figma. It allows designers to check negative areas and layering elements on the same area and come up with a layout code.

2. Color Libraries

When you create and use a specific color setting in a design project, Figma automatically adds it to your library. You can access it from the "Document Color" option in the menu where all your color palettes in the menu are saved and ready to be used again. This way, when you're working on a project with the same color tones and schemes, you don't have to manually save each color separately.

3. Constraints

While making a responsive design with Figma constraints, you can easily switch between web and mobile views.

Date: 10.08.2022
We continue to learn the structures required for the project. We are trying to develop sample applications with these structures.



Date: 11.08.2022
What is WIDGET?

When you code to render anything in Flutter, it will be inside a widget. The main purpose is to build the app from widgets. It describes how your application view should look with its current configurations and states. When you make any changes to the code, the widget calculates the difference between the previous and current widget and rebuilds its description to determine the minimum changes to be made to the application's UI.

Widgets are intertwined with each other to create the application. This means that the root of your app is itself a widget and the whole path is a widget. For example, a widget can display something, describe the design, handle interaction, etc.

WIDGET TYPES:

1. Visible (Output and Input)
2. Invisible (Layout and Control)

Visible Widget: These widgets are associated with inputs and outputs from the user.

TEXT: Used to display texts.
Button: This widget is used to perform some click actions.
Image: Used to add and display images.
Icon: Used to add an icon.

Invisible Widget: It is related to the layout of the widgets used. It makes the widgets appear on the screen.

Column: It is a type of widget that arranges all its sub-widgets in a vertical line.
It works the same as the 
Row:Column widget. The only difference is that it arranges horizontally.
Center: Used to center all child widgets.
Scaffold: This widget allows us to add material design elements.
Date: 12.08.2022
What is FirebaseAuth?	
FirebaseAuth is the gateway to the Firebase authentication API. However, you can refer to Firebase. auth. FirebaseAuth helps manage user accounts and credentials.
What is FirebaseFirestore?
Cloud Firestore is a flexible, scalable database for mobile, web and server development from Firebase and Google Cloud. Like Firebase Real-Time Database, it keeps your data synchronized between client applications via real-time listeners and offers offline support for mobile and web so you can build responsive apps that work regardless of network latency or Internet connection.

Third Week of Intern

GETTING STARTED JIRA ANALYTICS APPLICATION

Date: 15.08.2022-17.08.2022
What is API? What Does It Do?

With the API, programs can run some functions and capabilities that they do not have and that are available in different programs, and run them on their own.
In summary, we use services called APIs to run the function of a program on another program. Thanks to APIs, which are a frequently used tool in web-based applications, internet applications can gain a much more useful structure.

What is REST API?

REST API is a distributed system where developers make requests such as GET and POST using the HTTP protocol and receive responses to these requests in various formats. REST (REpresentational State Transfer) is also used in Turkish as Representational State Transfer. APIs that fulfill all the principles of REST are considered RESTful. The REST API was first developed by Roy Fielding in 2000 as a part of his doctoral thesis and was subsequently accepted by developers. REST API is a popular API that every developer may need someday, whether they work in the web architecture part or not.

REST API is similar to the SOAP and WSDL-based web services dominated by developers, but has been developed in a simpler way. When using the REST API, it is communicated using HTTP verbs, which are part of the page transfer process of web browsers. So GET, POST, PUT DELETE etc. that are familiar to you as a developer. filler is widely used to communicate with the REST API. Since it uses the HTTP protocol, it can use the REST API in practically any programming language. By using the REST API in your software, we can ensure the longevity of your software and positively support its development.

The format of data transferred with REST can be HTML, JSON, XML or any other format. Unlike other strict and mentioned APIs, REST does not impose any restrictions on this issue for developers.
Date: 18.08.2022-19.08.2022
I used the POSTMAN application to examine the content of the given sample APIs and the data in them. Thanks to Postman, we can easily test the APIs

What is Postman?
Postman is an application that we can use as a Chrome extension or directly download and install on our computer. It can also be defined as Rest Client.

API (Application Programming Interface) allows different application software to interact with each other. An example is that Client(Android) and Backend(java) software communicate with Restfull Api.
With Postman, we can easily test our APIs instead of writing long codes. Thanks to its many features, we can easily prepare a request and use the incoming response values.
Submitting a Basic Request on Postman
Each API request uses an HTTP method. The most used methods are GET, POST, PATCH, PUT and DELETE.

GET: Gets data from an API.
POST: Sends new data to an API.
PATCH & PUT: Updates data.
DELETE: Removes data.
Fourth Week of Intern
We will use flutter api structure in practice. Therefore, it is necessary to examine flutter and api operations.
Date: 22.08.2022-26.08.2022
In Flutter, http get structure is used to reach APIs. First of all, we need to add http library to our flutter application. After adding it, we should look at the api structure we will use. We can see the content of the API using postman. We must return the json structure inside to the modeling that we will use in flutter. For this modeling, we can get the modeling by entering the https://app.quicktype.io/ page and entering the json structure of the api here. After adding a, we can now access the api. We will use the http library to access the API.

 Http structure: Http structure uses the following steps.
1. We have to add the http package.
2. We need to make a network request using the http package (http.get(url))
3. We need to convert the response we received into a dart object (we use modelling)
4. We can take the data with flutter and show it on the screen with various widgets.
 
1. We have to add the http package.
In Flutter, we can add the http library by typing the flutter pub add http command into the terminal. After adding it, import 'package:http/http.dart' as http;  this way we can add it to the page.

2. We need to make a network request using the http package (http.get(url))
The http.get construct returns a response with future. Future is a basic Dart class for working with asynchronous operations. A future object represents a possible value or error that will become available sometime in the future. The Http.Response class contains data from a successful http call.

3. We need to convert the response we received into a dart object (we use modelling)
With the dart:convert structure, we return the body of the response (response.body) to the json map. If the server returns the status of the response as 200, we return the response body (response.body) from.json using modelling.

4. We can take the data with flutter and show it on the screen with various widgets.
We can display the data we receive on the screen using widgets.
Fifth Week of Intern
Date: 29.08.2022-02.09.2022
In order to access the API we will use and to perform the data extraction, the user was authorized. Access to the api has been granted.

We can authorize the user to access the APIs using the header structure of the http package. I also used this structure.

I use the basicAuth structure provided by the header structure of the http package for user authorization to access the API. First of all, I defined two variables as username and password. I assigned these variables to the basicAuth variable using base64 encoding. After doing this, I sent this basicAuth variable to the headers structure of http
Here's how you can see my code:
String basicAuth = 'Basic ${base64.encode(
    utf8.encode('$username:$password'))}';
var response = await http.get(
  Uri.parse(url),
  headers: <String, String>{'authorization': basicAuth.toString(), },)
With this structure, I was able to access the data in the api.

Sixth Week of Intern
Date: 05.09.2022-06.09.2022
I made the data accessed by the API be displayed on the screen. Since the data from the API comes in json model, I used the modeling structure. I will not be able to give information about the incoming data within the scope of company confidentiality. I wrote the response (response) from the API and passed it through the json model. Now the data is ready to be used. I used the future builder and snapshot structure to use the data I have on the screen. Here the data passed from the service from the json model I was able to use ' with snapshot. I made the incoming data into a table and wrote it as a separate custom widget. I added the pagination widget to number the pages under the table. I also wrote the search widget to filter the incoming data. With this widget, the user is required After entering the keys, a table with filtered data will appear in front of it. In addition, I wrote a filter widget in which the keys I mentioned are embedded. In this widget, the filters that the user has favorited are listed as a list. It takes you to the page page and the table and file I wrote earlier. We come across pagination widgets. Of course, the data in them is the data filtered by the key value sent when the button is pressed. Also, this structure is a responsive design. So it can be used easily both on the phone and on the mobile.
So to summarize the widgets and functions I wrote,
• Search Widget: This widget is a widget that takes text input. When the entered text, namely the key, is pressed, it sends this key to the search function and triggers that function.
• Table Widget: This widget is in the table structure we know. By using the table structure in Flutter, it allows the incoming data to appear in the form of a table on the screen.
• Pagination Widget: This widget allows the pages to be numbered. The number of pages is automatically calculated according to the length of the data coming from the API and it comes as a button. When each button is pressed, the search function is triggered and the line where the data should start is repeated.
• Filter Widget: This widget is in a list and the user's favorite filters are listed. These are buttons and the search function is triggered when each button is pressed and sent to the embedded key search function in that filter.
Finally, let's talk about the search function I wrote,
void search({queryText, startAt, maxResults});
The Search function takes 3 optional parameters. These are the queryText, startAt and maxResults parameters. The Search function goes to the Search service I wrote and sends a request to the API and allows us to retrieve the data. If the parameter is sent, it takes the data filtered according to them.
Date: 07.09.2022-09.09.2022
I added the login interface to the application. I designed the login page. If I need to talk about the design, first two textformfield widgets that allow us to get an input under a login image on the screen and a button widget below them were added. Username and password were received as input from the user. These received inputs were sent to the login service I wrote when the button was pressed. Previously, I was using these inputs as parameters and doing the auth operation. But since this structure is not healthy, I decided to change it. If I need to talk about the login service, there is an auth session api in the system where we access the data. By using the .post structure, we send the username and password inputs to the body part of the http.post structure through the json model and send it to the api service. If the status code of the response from this service is equal to 200, the auth operation is successful. We send this auth operation to the APIs we use. We can access.

Seventh Week of Intern
Date: 12.09.2022
In addition, filtering processes continued by dealing with incoming data. Within the scope of the confidentiality of the company, I cannot give information about the data. Also this week, the first version of the app was released as an apk as a demo. The final project presentation was made and the project was delivered.













KISIM 5: GENEL RAPOR (PART 5: GENERAL REPORT) 
History of the Institution 
Date of Foundation
1995
Vision & Mission of the Organization
CYBERSOFT's mission is sustaining highest client satisfaction and most qualified services with low total acquisition costs and ease of maintenance by using advanced software development techniques, latest software architectures and CYBERSOFT's expertise in large scale enterprise IT solutions.
CYBERSOFT's vision is to become and remain a reliable, solution-oriented global company that delivers the highest technology, most qualified services and bears its responsibilities to its Country.
Ownership Status and Key Partners
The founder of Cybersoft is Semih ÇETİN and Fikret KAYA
The owner of CyberSoft and CEO Fikret KAYA
Management Style (Management Contract, Franchise ...)
Cybersoft has been a technological development leader in the development of public and private sector IT projects with its high information technologies and object-oriented application development approaches since its establishment in 1995.
Cybersoft meets the multi-purpose, multi-layer and multi-channel business infrastructure needs of medium and large-sized organizations with high-tech IT solutions. It is recognized as one of the most competent companies in our country, especially in the adaptation of large-scale corporate information systems.
Organizational Structure of the Institution
Organizational Chart of the Institution
Team: Each team consists of 5-10 software engineers and each team has a designated work area.
Team leader: The person responsible for each developer in the team under him.
Group leader: It is the person responsible for the team leaders and developers affiliated to the team leaders.  
Director: The most effective manager in project management.
Project Management Board: It is the group the group that consists of the company’s senior officials and makes the final decisions on the project, it is the most competent unit. 

Departmental Responsibilities & Key Functions
Cybersoft company consists of three main units. One of them is Main Banking, the other is Sub-Banking and the last one is Test Unit. All of the software development processes on these units are developed and shaped in line with customer requests. Incoming customer requests are first transferred to the Main Banking. After the changes made on Main Banking, the software is transferred to the Sub-Banking unit. Here the final test and changes are made. The software made in the last process is transferred to the Test Unit and the errors and bugs in the software made here are eliminated and the product is presented to the customers.

Main Banking: The software unit runs on the main banking. They instantly prepare software according to customer demands. Everyone works on a separate task. Everyone is given a certain number of days to complete these tasks. Everyone has to complete their task within this given day. Customers follow all the improvements made and comment on these changes. According to the comments made, new tasks are given to the software developers and changes are made on the banking applications. The process repeats like this.
 
Sub-Banking: Sub-banking unit is the unit that tests and develops software products coming from main banking. The final product is obtained by developing the product that will be presented to the customers in this unit and by adding some new developments to the software made in the main banking unit. Sub-Banking is mostly the unit that corrects, develops and corrects Main Banking products. The main purpose of this unit is to fix and improve the incoming software products before they are transferred to the Test Unit. The Sub-Banking unit operates separately from the Main Banking unit, but the software products they test and edit are made by the Main Banking.
 Test Unit: The test unit is the unit where all the errors of the incoming software products are tested. Test unit tests all software products coming from Sub-Banking unit one by one and finds faults. The errors found are sent back to the software units from here. Returned software products are transferred to the Test unit again after the errors are corrected and retested. This unit also conveys the missing parts of the incoming software products to the Main Banking unit. Customer demands are taken into consideration in the test unit and requests in this direction are determined. The main purpose of the testing unit is to detect errors and bugs of incoming software products. The software unit not only detects errors and bugs, but also determines the missing and unadded areas in the software product and makes a request for their removal. 


Key Executives of the Organization
The owner and President of Cybersoft and CEO Fikret KAYA
Vice President of Cybersoft is Selçuk KEMALOĞLU
Board Group Leader of Cybersoft is İhsan HELVACIOĞLU
Board Leader of Credit Application Devolopment Team is Deniz KURTO
Board Member of Credit Application Devolopment Team is Burak MANDAL
Board Member of Credit Application Devolopment Team is Hasan DEMİRELLİ
Board Member of Credit Application Devolopment Team is Murat ONAY
Board Member of Credit Application Devolopment Team is Neslihan KAYA
Board Member of Credit Application Devolopment Team is Bekir ÖZALP
Departmental Organizational Structure & Functions
Authority and Responsibility Relationships Within the Department
They have all the authority structure that large organizations should have. There are people who control the management such as software manager, product owner, scrum master and whom we can consult when necessary.
They manage the responsibility relationship using agile methodology. For a company with such a large structure, this is the healthiest method until a better one comes out.


Departmental Job Descriptions & Job Specifications
Digital Solutions
E-Commerce
Loyalty & Campaign Management 
Customer Management
Port Management
Content Management Systems
Data Center
Virtualization & Data Storage
Network Management
Business Continuity & Disaster Center
Monitoring
Colocation Hosting
Banking
Modern Banking Applications Development
Multilayer software architecture
Seeds [Team Initiatives]
Representative Number Modeling

Vehicle & Insurance and Other Solutions
Vehicle Sales Management
Vehicle Expertise Management
Insurance Agency Solution
Field Management System
IoT Solutions
Finance & Factoring
Consumer Finance Solutions
Limit & Risk Management
Loan & Assurance & Payment Management
Audit Issue Tracking System
Payment Systems / Bank Integrations
Customer & Parameter Master Data Management
Security & Identity Solutions
KYC (Know Your Customer Solutions)
ML Based Factoring
Factoring Solutions
Enterprise Business Solutions
Legal Tracing Solutions
Finance Solutions
Document Management System
Administration Systems
HR Solutions
Messaging Solutions
Skype Business
E-Mail & SMS Services
Training & Consultancy
Finance Solutions
Design Thinking
Facilitation
Digitalization
BPM
RPA
Project Management
Cloud Services
Cloud and Platform Management
DevOps
Database Management
Cyber Security
Network Security
Data protection
Application Security
End Point Security
SOC & Cyber Intelligence
Identity & Access Management
Privileged Access Management
Penetration Testing
Vulnerability Management
Breach & Attack Simulation
Relations with Other Departments
Although all departments are independent from each other, it is very easy to gather the departments together when a common project will emerge. It is very easy for an intern to make a department change.
Key Challenges faced by the Department
The remote working process, which is normally a great convenience, causes us (interns) to have difficulties in learning the job and doing the assigned tasks.
With the Agile methodology, since the projects are done piecemeal, if there are places that need to be changed later, even if these parts are corrected faster and user satisfaction is increased, users still cannot achieve what they want perfectly.
Possible solutions to Key Challenges
It can be ensured that young talents gain experience in the office, even at different times, so that they can get used to the process and see the office.
Besides the Agile methodology, there is a new methodology established to understand what the user is thinking and feeling. It is called design thinking. Actually, Cybersoft is aware of this and is preparing to establish its own design thinking methodology.










SWOT Analysis


Helpful
Harmful
Internal Origin
STRENGTHS
I'm very creative. I often impress team with a new perspective on their brands.
I communicate well with my clients and team.
I'm completely committed to the success of a team.
WEAKNESSES
I have a strong, compulsive need to do things quickly and remove them from my "to do" list, and sometimes the quality of my work suffers as a result.
This same need to get things done also causes me stress when I have too many tasks.
External Origin
OPPORTUNITIES
After my intern friend left, performing tasks on my own improved me a lot.
We made a project presentation, so my ability to speak in front of people improved. I learned how to present projects.
THREATS
After my intern left, I try to do the tasks by myself. The tenure is getting longer.
I have a problem waking up early in the morning so sometimes I'm late for work.


Contributions
Skills Developed During the Internship
Learnt Flutter, Rest API, Postman 
Improved using GIT, Intellij IDEA, Http get, Json
In addition to these, the most important experience that the internship gave me is to have knowledge and experience about how teamwork is managed and carried out, and the functioning of the hierarchical structure.
Responsibilities Taken
Daily tasks were taken and worked as a team.
Task cards are taken and completed like a normal software developer.
Application design processes and development stages were learned.
Future Plans
I learned how to make mobile applications with the Flutter programming language. In this way, I aim to develop myself more in the field of mobile applications by making simple applications with flutter.





KISIM 7: EKLER (PART 7: APPENDIX: REFERENCES)
http://www.cs.com.tr/TR/
http://www.flutter.dev
https://en.wikipedia.org/wiki/GitHub
https://www.postman.com/
https://www.jetbrains.com/