Career
I was born in 1996 in Istanbul and since I have been interested in computers since my childhood, I studied software and then I have constantly improved myself in this field and I have done many projects besides these developments. Among my goals is to work with good teams and to create good projects for the future.
Information about the things I have done in the places where I work and some of the projects I have done individually will be briefly segmented below.
Some of my individual projects
- New ones
- InstaDiscover (Python With Selenium & Mysql)
- Nute (Laravel & JQuery & Docker) - (Muhasebe Yazılımı)
- Whatsapp Auto Message Sender Without API
- English Formula Diagrams
- Binance API Crypto Trading Bot (Laravel)
- Google Search Mining (Laravel)
- Vocabulary Memorization (Android-Java&Realm)
- PC Remote Control Wifi PRO Android (Kotlin) & C# WPF
- Old
Algorithm Studies and Some Case Study
- Cases
- E-Commerce - (Symfony) - Step 2
- E-Commerce - (Symfony) - Step 1
- E-Commerce - (Laravel)
- To-Do Planning - (Laravel)
- Algorithm
Programming Languages
- PHP (Laravel / Symfony) - 5/5
- C# (WPF&WinForm&ASP.NET) - 5/3
- JQuery, Angular - 5/4
- Linux Shell - 5/3
- Dockerfile, Docker Compose - 5/3
- Java, Python, Dart - 5/2
- Java&Kotlin(Android) & Flutter - 5/2
Which Operating Systems I used
My preference is Linux or macos but windows is fine too.
Software Principles & Pattern Design Articles I've Written
- Software Design Patterns
- S.O.L.I.D Principles
- KISS (Keep It Simple, Stupid) Principle
- YAGNI (You Aren’t Gonna Need It) Principle
- DRY (Don’t Repeat Yourself) Principle
- GRASP (General Responsibility Assignment Software Patterns)
Software Testing
- TDD (Test Driven Development)
- BDD (Behavior Driven Development)
- ATDD (Acceptance Test Driven Development)
Software Development Processes
- SDLC (Software Development Life Cycle)
- Agile Development
- CI (Continuous Integration) / CD (Continuous Delivery) - Jenkins
Databases
- PostgreSQL
- Mysql
- Microsoft SQL Server
NoSQL Databases
- MongoDB
- Apache Cassandra
Software Virtualization
- Docker
- Vagrant
Full Text Search Engine
- Elasticsearch
- Sphinx
Message Brokers && Message Queue (MQ)
- RabbitMQ
- Apache Kafka
Caching Tools
Monitoring Tools
- Zabbix
- Prometheus
Curious / Interested
- Microservices
- Jenkins
- GraphQL
- GCP - Google Cloud Platform
- AWS - Amazon Web Services
LINKS
Github: https://github.com/muratcakmaksoftware/
Medium: https://medium.com/@murat-cakmak
Aktif olan mobil uygulamalarıma bakmanız için Tıklayın
Stack Overflow Tıklayın
CodeGrepper Tıklayın
Github: https://github.com/muratcakmaksoftware/
Medium: https://medium.com/@murat-cakmak
Aktif olan mobil uygulamalarıma bakmanız için Tıklayın
Stack Overflow Tıklayın
CodeGrepper Tıklayın
Wordpress Websites
www.umraniyeevdesaglik.com (2024)
www.istanbulalperenocaklari.org (2021)
www.hizmetmerkezim.com (2020)
www.catitadilat.info (2019)
www.istanbulcatiustasii.com (2015)
www.umraniyeevdesaglik.com (2024)
www.istanbulalperenocaklari.org (2021)
www.hizmetmerkezim.com (2020)
www.catitadilat.info (2019)
www.istanbulcatiustasii.com (2015)
Work Experiences
Helios Digital Solutions
09.2014 - 06.2015 (10 Months)
Stajyer
Job Description: Software and technical support as a high school intern.
Detail:
- Repair of ATM components, T.V and Mini computers and installation of operating systems and software.
3SGRUP
06.2016 - 08.2016 (3 Months)
Stajyer
Job Description: Developing Mobile and Web Applications as a university intern.
Detail:
- Mobile application developed to follow the problems of customer relations in ticket style mobile application.
- It was more related to the development of wordpress and customer-specific websites.
Mediapia It Consulting
02.2018 - 05.2018 (4 Months)
PHP Developer
PHP Developer
Job Description: Development on Angular & PHP and restful.
Detail:
- I made my own business tracking software from scratch, similar to Asana or Trello.
Magosa Naval Command (Military Service)
2018 - 2019 (1 Year)
I completed my duty as a Guard Sergeant in Cyprus / Magosa.
While doing my duty (I was not a printer), I additionally wrote a Watch Program with Visual Basic using the Form interface of Microsoft Access. Repetitive workload and some problems were prevented.
Hizmet Merkezim
01.2020 - 04.2021 (1 Year/ 4 Months)
Full Stack Developer
Job Description: As a Full Stack Developer, developing existing websites written in Laravel and PHP languages.
Detail: Fixing a lot of bugs in the software and closing the big gap of deficiencies.
- Monitors that check whether the daily workflow is done correctly.
- Monitors that follow the personnel and show their statistics.
- Controlling phone traffic and showing missed calls on the monitor and in-depth analysis of traffic.
- Control software for barcode reading of warehouse materials and counting of vehicles.
- Services are available in the system and when the staff wants to assign the service to the master, it shows the vehicles of the nearest masters in the field with their routes. Time and km information is also included. In the analysis section, the routes until the service time are shown on the map.
- Warning the screen of vehicles exceeding a certain speed and warning the master.
- Writing advertisement sites and apart from these, hizmetmerkezim.com and istanbulalperenocaklari.org were made as wordpress.
- There is a project I wrote with Laravel from scratch as an accident report name. In this project, everything is processed in the timed background (Cron job), for example, the word is searched for the news section in google and links are taken in the results section of google and those links are visited and analyzed and presented to the staff.
- Writing the program with WinForm to backup the ready-made accounting program to the NAS device connected to SQL Server.
- Adjustment and support of masters' tablets. In-office technical support and solutions.
- Firewall device configurations and smart switch settings.
Jengal Yazılım
05.2021 - 03.2022 (11 Months)
PHP Developer
Job Description: Development of existing projects and refactoring of existing projects, documentation and publishing of live projects..
Detail:
- Improvements to the Dopinger project.
- Warning for the use of unwanted words in the Dopinger contact form (contact) and temporary ban in case of repetition.
- Since Kubernetes is used in the Dopinger project, code should be written according to pods. In case there are more than one pod, for example, in the Queue system, two different identical queues are created and pull the same database and perform operations, but this will cause errors.
- A similar scenario occurs when Html Cache files are kept locally, such as when they need to be deleted from both pods.
- In Database Cache, since Redis is used, there is no problem even if it has different pods because it pulls from a common point.
- Playing a role in providing scenario constructions for such situations.
- Adding the necessary libraries in Docker and adapting them to the package system.
- Writing the Media module from scratch using GCS in the Dopinger project.
- Creating thumbnails of that image when an image is uploaded. In case the images used in the project content are deleted, the places used are detected and the user is informed.
- Since Restrict is used, it is ensured that the image is prevented from being deleted without deleting the image from the places used, thus preventing the formation of broken image links.
- All these operations are done in the job and are subject to the queue system. In the event of an error, no one can perform an operation in the relevant folder or file, thus preventing the formation of file or database complexity.
- In Cloud Storage systems, folders are virtual folders. It is important to remember that there is a virtualized folder logic in GCS. Therefore, in operations such as folder rename, copy or move, codes such as copy or move the folder do not work, so you need to proceed accordingly, such as moving or copying the files inside.
- In a single bucket, separations are made to accommodate the files of more than one project. Within the project folder, they are kept separately under the originals (original images) and thumbnails (images minimized according to the theme) folders, thus preventing confusion.
- Writing the Media Sync Cronjob: The purpose of this cronjob is to compare CDN with Database and Database with CDN. This ensures synchronization.
- Main features: Upload, Rename, Move, Cut, Delete and Create Folder APIs are written to support multiple operations)
- Revisions I made in the Dopinger project
- Making the filing logic kept in GCS functional by bringing it to a common point and regular form, and bringing this common point to a common point in the codes related to the project.
- Bringing the language structure to a single point and standardizing the data structure.
- Providing CORS configurations.
- Removing things that are not used in the project and things from the past and making the project directories common with the other project.
- Adding the stubs required for the Repository Design Pattern and ensuring that these stubs are added according to the modules.
- Switching from localization json to array and setting up the usage structure
- Refactoring of existing SM projects by switching to new laravel project from scratch.
- Writing Permissions system according to existing databases. No packages are used. Permissions system is written in a very detailed way and everything up to Middleware is written from scratch. Because it has a unified structure with RDP. For example, in a select query, data comes according to the columns that the user is authorized. When a record is made, there are many specific situations such as the user can record in the columns that the user is authorized.
- Making stubs for Repository Design Pattern.
- Making the language language to control from a common point.
- Making the structure that will provide returns to the frontend side according to the common data model.
- Making dynamic structures to provide returns according to authorizations in datatables.
- Ensuring the management of all errors in Handler.
- Transferring the features in the old project by refactoring according to the new project.
CUZDAN Elektronik Para ve Ödeme Hizmetleri
04.2021 - 05.2022 (2 Months)
04.2021 - 05.2022 (2 Months)
PHP Developer
Job Description: Development of existing finance projects.
Detail: Improvement of existing features and development of new features of SOA / Microservices based project.
- Development of a feature for document upload, classification and management.
- Making corrections to existing features.
IDEASOFT
08.2022 - currently working
Full Stack Developer
Comments
Post a Comment