Skip to content
View barankaplan's full-sized avatar
  • Deutschland
Block or Report

Block or report barankaplan

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
barankaplan/README.md

Hallo an alle 👋

indem Sie die angehängten Repositories in diesem Profil überprüfen, können Sie sich besser über den Inhalt informieren und die Projekte schneller untersuchen. Lost geht's!

ezgif com-gif-maker (1)

-CSV-Daten wurden untersucht und es wurde entschieden, mit "Set Data Struktur" zu arbeiten, da die Werte in der RL100-Code-Spalte eindeutig sind und die Suche durch diese Spalte bearbeitet wird.

-Es gibt leere Werte in der Spalte mit dem Namen Typ Kurz, ich wollte Informationsverlust verhindern, indem ich in diesen Abschnitten Typ Lang verwende.

Screenshot 2022-08-01 at 14 19 33

-Ich habe eine oberflächliche Unit-Test-Methode über die OperationOfficeFactory-Klasse geschrieben, aus der wir die CSV Daten einlesen. Obwohl es nicht direkt mit dem Konzept des Testens zusammenhängt, wurde die Methodenvielfalt durch die Gestaltung von Validierungsbestimmungen mit Unit-Test-Methoden erhöht, und gleichzeitig wurden "Stream-Operationen" erwähnt.

Screenshot 2022-08-01 at 14 19 00

-Integrationstest wurde mit einer Datenbank auf AWS durchgeführt (Details folgen später).

Screenshot 2022-08-01 at 14 19 14

-Dank der Validierungen, die während "Get Request" laufen, konnte ich die Verschwendung von Ressourcen minimieren.

Screenshot 2022-08-01 at 14 18 48

-Collection link in Postman: https://www.getpostman.com/collections/a259b863777eadeb1f6b

Screenshot 2022-08-27 at 23 54 08

-Im ersten und einfachen Szenario werden csv-Dateien unabhängig von einer Datenbank mit dem Pojo-Objekt namens „OperationOffice“ verarbeitet. Diese Anfrage zielt darauf ab, die gewünschte Basisleistung im Projekt darzustellen, ohne dass eine Sicherheit verlangt wird.

Screenshot 2022-08-01 at 14 18 20

-Statt Fehlerdetails wie "timestamp-status-error-trace" usw.Durch "Exception Handling"-Mechanismen werden dem Benutzer verschiedene Fehlermeldungen angezeigt.

Screenshot 2022-08-01 at 14 18 09

-Im zweiten Szenario wird dieselbe OperationOffice-Klasse als Entität mit einem anderen Ansatz dargestellt, indem die Datenbank-, Authentifizierungs- und Autorisierungsprozesse in einer mehrschichtigen Architektur durchlaufen werden.

-Eine einfache Benutzerregistrierung und ein Login-Code wurden entwickelt. Das Passwort ist verschlüsselt und die APIs Connection wird mit JWT bereitgestellt.

Screenshot 2022-08-27 at 23 55 28

Screenshot 2022-08-27 at 23 55 41

-Der Benutzer kann ohne das Token nicht mit dem Server kommunizieren. Als Ergebnis erfolgreicher Anmeldungen mit dem Token zurückgegebene Objekte werden in einer Datenbank gespeichert, die sich in der AWS-Cloud befindet! Ich erwähnte, dass ich einen einfachen Integrationstest über diese Datenbank geschrieben habe!

Screenshot 2022-08-01 at 14 16 33

-Da es sich um den Primärschlüssel Code handelt, wird Daten Wiederholung vermieden! Also selbst wenn der Benutzer dieselbe Anfrage 100-mal zu unterschiedlichen Zeiten schreibt, wird nur 1 aufgenommen!

image

-In der Datei application.properties werden Logging-Level-Anpassungen für verschiedene Klassen über die Slf4j-API vorgenommen.

Screenshot 2022-08-02 at 02 14 26

-"Logging data" werden in einem benutzerdefinierten Format in operationOffice.log gespeichert. Die maximale Dateigröße, die maximale Gesamtgröße der Logging-Daten und die Aufbewahrungszeit werden angegeben. Der Logging-Verlauf wird bei jedem Programmstart gelöscht (er wird nicht gelöscht, wenn er innerhalb des nächsten Tages gestartet wird).

Screenshot 2022-08-02 at 02 13 51

-Es wird eine einfache Logging auf Methodenebene durchgeführt. Außerdem wird die Logging auf Methodenebene mithilfe des AOP-Ansatzes mit benutzerdefinierter Annotation entworfen!

Screenshot 2022-08-02 at 02 12 55

-04.08.22

-Am Anfang des Projekts stand die Idee, dass die csv-Daten sich bei jeder Abfrage möglicherweise ändern könnten, sodass wolte ich die csv-Datei direkt Zeile für Zeile einlesen, um die aktuellsten Daten zu übertragen.

Screenshot 2022-08-05 at 00 07 06

-Deswegen wurde nach dem einmaligen Auslesen der csv-Datei der Link http://localhost:8082/api/betriebsstelle/collection/{code} angelegt, um die Daten statisch zu halten und so die Daten in der Collection auszulesen.

Screenshot 2022-08-05 at 00 07 29

-Auf diese Weise wird ersichtlich, dass die Lesegeschwindigkeit durch Beobachten von Logging Daten zunimmt. Allerdings bleibt, wie anfangs erwähnt, der Status der erstmalig gelesenen Daten erhalten!

Screenshot 2022-08-05 at 00 07 59

Zusätzliche Verbesserungen

  • Versioning and documentation of APIs

  • Dockerizing Jar files and run on AWS ECS

  • Different Grant Types Using Oauth2

  • Logging Operations and AOP Approach (added on 02.08.22)

  • Creating custom annotations (added on 02.08.22)

  • Spring MVC + Angular

📂 Project 2- Microservices

-microservices communication using spring cloud

-provide communication and load balancing between microservices using eureka discovery server

-databases created with postgresql, entered queries to checked with pgadmin

-a more scalable communication is provided with open feign instead of using resttemplate.

-used sleuth for an auto configured distributed tracing and zipkin for checking the tracing system

Screenshot 2022-07-11 at 10 37 34

Screenshot 2022-07-11 at 10 39 28

-external load balance(main entry point) between clients and instances using api gateway

-i have created a simple message queue with rabbitmq in order not to reflect the delays due to problems between services to the user.

-the project was run with jar files, then docker images cretad and uploaded by using these jar files, lastly containers were created and the project was run entirely on docker.

Screenshot 2022-07-11 at 10 42 28

Screenshot 2022-07-11 at 10 42 54

Screenshot 2022-07-11 at 10 36 49

-the project was run on kubernetes for testing using minikube on docker

Screenshot 2022-07-11 at 10 31 09

Screenshot 2022-07-11 at 10 30 16

Screenshot 2022-07-11 at 10 34 02

Screenshot 2022-07-11 at 10 35 42

Screenshot 2022-07-07 at 09 36 38

-In this mvc-based application designed with spring boot, thymeleaf template engine is used to interact with the frontend.

-frontend designed with html css bootstrap and jquery also scaled for others devices like phones and tablets

-data is kept in postgresql and spring data jpa is used in data access layer

-Spring RESTful Webservices used in conjunction with jQuery on the client side

-includes JUnit, Spring Test, AssertJ and Mockito for unit tests and integration tests

-data can be downloaded in csv, excel and pdf formats

Screenshot 2022-07-07 at 10 56 32

-Certain users have certain responsibilities and role based authorizations.for example admin controls everything but salesperson can't see users and customers

Screenshot 2022-07-07 at 11 09 32

Screenshot 2022-07-07 at 11 08 49

Screenshot 2022-07-07 at 11 01 48

-custom error pages

Screenshot 2022-07-07 at 11 15 48

Screenshot 2022-07-07 at 11 11 28

Screenshot 2022-07-07 at 11 11 45

-pagination , filtering and sorting

Screenshot 2022-07-07 at 11 19 40

Screenshot 2022-07-07 at 11 15 02

Screenshot 2022-07-07 at 11 20 22

This application covers alost of attemps related to spring boot Fundamentals and i listes some of them below.

Spring Boot side

-exception handling

-basic principles like map struct

-different update approaches, layered architect etc.

-custom exception handling layer by layer

DB Side

-testing /database file /h2 memory DB / PostgreSQL using test containers

-a basic cache mechanism between entity and web service. If the address is in the DB, data is fetched directly from DB without interacting with web service.

-JDBC principles, using queries and functions in spring boot and connection with JPA repositories.

-Hibernate and JPA principles, table relations include native, jpql, repository queries.

-if a postal code is already in database ,we don't communicate with server.

Testing Side

-Unit and Integration tests using different databases and docker contaniners

Security Side

-Basic and Bearer Token

Screenshot 2022-07-07 at 13 37 10

-let's sign in

Screenshot 2022-07-10 at 20 04 59

-it is possible to create a movie info !

Screenshot 2022-07-10 at 20 05 23

-and create an order using our card

Screenshot 2022-07-10 at 20 06 02

Screenshot 2022-07-10 at 20 06 17

-If a card has been entered into the system, it cannot be entered by another person!

Screenshot 2022-07-10 at 20 07 39

-if a postal code is already in database ,we don't communicate with server.

Screenshot 2022-07-10 at 20 09 10

Screenshot 2022-07-10 at 20 10 02

📂 Project 5- REST API - Blog

-login and signup

-memory based authentication, token-based authentication using jwt

Screenshot 2022-07-09 at 22 35 20

-request validation

Screenshot 2022-07-09 at 22 27 48

-pagination and sorting / page no and page size are optional

-transaction management

-exception handling

-versioning apis

Screenshot 2022-07-09 at 22 32 24

Screenshot 2022-07-09 at 22 32 46

-api documentation using swagger api

Screenshot 2022-07-09 at 22 30 58

-deploying on aws cloud (elastic beanstalk,rds,amazon w3)

Screenshot 2022-07-09 at 22 28 41

Screenshot 2022-07-09 at 22 29 26

Screenshot 2022-07-10 at 10 09 23

Screenshot 2022-07-10 at 10 10 33

Screenshot 2022-07-10 at 10 10 52

📂 Project 6- TCP Client Server

-My library, which contains functional interfaces consumed by stream api in various methods and using factory classes on csv files, is used by the server.(for more infos please read docx file)

-The client goes through a 3-level password system, if it keeps the server busy for more than 20 seconds, it will be kicked out automatically.

-The server can serve 100 clients asynchronously. Check the jpeg below

IMG_DCF2F28FC3F8-1

🗂 🗂 🗂 Also you can check my works related to files,generics and exceptions

Data Science Projects

-The time devices spend on apps and content are crucial factors in creating a more interactive experience and personalized content for the user. In other words, various tables, galleries, etc., in one application throughout the day. These activities are intended to be grouped according to parameters such as the time the user browses the web, likes photos, clicks on the gallery, and watches videos.

The results are proven by using hypothesis testing and summarized in the Tableau. It is revealed that it is possible to combine the wishes and tendencies of the user corresponding to the products in the market.

Screenshot 2022-07-09 at 22 48 42

Screenshot 2022-07-09 at 22 49 25

Screenshot 2022-07-09 at 22 49 48

-for more infos please read docx file

📂 Project 8- Support Vector Machines

Popular repositories Loading

  1. barankaplan.github.io barankaplan.github.io Public template

    Forked from tcbutler320/Jekyll-Theme-Dumbarton

    Dumbarton is a Jekyll Theme developed by Tyler Butler. The theme is designed for academics and features a simple home page with an about me section, a blog, and an interactive highlights section to…

    HTML

  2. about about Public

  3. Java-Jan-2021 Java-Jan-2021 Public

    Forked from oguzkaran/Java-Jan-2021

    Java

  4. JavaApp2-Jul-2021 JavaApp2-Jul-2021 Public

    Forked from oguzkaran/JavaApp2-Jul-2021

    JavaApp2-Jul-2021

    Java

  5. maven-repo-2021 maven-repo-2021 Public

    PureBasic

  6. demo demo Public

    Java