• Stars
    star
    112
  • Rank 312,240 (Top 7 %)
  • Language
    Swift
  • License
    MIT License
  • Created about 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

iOS Components for iOS by Trendyol application development team.

License

iOS Components contains various ios custom views and helper frameworks written in pure swift. Developed by iOS app development team at Trendyol.

Why?

Developed to help iOS developers in community to build beautiful and functional iOS apps with less effort.

Components Test App

You can look at the test app named ComponentsTestApp by cloning the repo. All components shared here also implemented in test application.

Components

You can see brief summary of all components below. For detailed info, please click a component link provided in each component's section.

ImageSlider

Custom collection view based slider component with infinite circular scrolling

ImageSlider Link

PinchableImageView

Provides full screen zooming ability to UIImageView like instagram.

PinchableImageView Link

AutoCompleteTextField

AutoCompleteTextField Link

PropertyWrapper

When you need use a enum on DTO you need to be sure all types can confirm. For that you need to create custom init. With this implemantation you don't need to write custom init anymore. Also We think on DTO no need to use optional Bool. Beacuse when will be we use optional bool on our code we wrote it with default value. You can simply use DefaultTrue or DefaultFalse wrapper on your dto and if that field is nil it will be set default value.

// With this implemantation you can be sure your code can't crash when new UserType added.
enum UserType: String, Codable {
    case admin, user, none
    
    public init(from decoder: Decoder) throws {
        self = try UserType(rawValue: decoder.singleValueContainer().decode(RawValue.self)) ?? .none
    }
}
// With This Property Wrapper you can set Default value for UserType. You can set default value with LastCase or FirstCase.
// Also With DefaultFalse or DefaultTrue you can save your code from `UserResponse.isAdmin ?? false`
enum UserType: String, EnumDefaultValueSelectable {
    case admin, user, none
}

struct UserResponse: Codable {
    @DefaultCodable<LastCase> var user: UserType
    @DefaultCodable<DefaultFalse> var isAdmin: Bool
}

PropertyWrapper Link

ContinuousPagingView

Custom collection view with pagination implementation, guarantees that all pages filled with equal number of items.

ContinuousPagingView Link

LinkLabel

Custom label which provides clickable hashtags and links

LinkLabel Link

License

Copyright 2019 Trendyol.com

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

More Repositories

1

baklava

Baklava is a design system provided by Trendyol to create a consistent UI/UX for app users.
TypeScript
1,250
star
2

mobile-app-automizer

You can automize iOS and Android app's build, upload and versioning processes via Mobile App Automizer CLI tool.
JavaScript
576
star
3

medusa

Android fragment stack controller
Kotlin
483
star
4

docker-shell

A simple interactive prompt for docker
Go
391
star
5

android-guidelines

Architecture and code guidelines at Trendyol when developing for Android.
FreeMarker
388
star
6

kink

KinK is a helper CLI that facilitates to manage KinD clusters as Kubernetes pods. Designed to ease clusters up for fast testing with batteries included in mind.
Go
375
star
7

react-carousel

Lightweight carousel component for react
TypeScript
293
star
8

gaos

HTTP mocking to test API services for chaos scenarios
Go
214
star
9

android-ui-components

Useful UI Components for Android Projects.
Kotlin
201
star
10

BubbleScrollBar

Kotlin
195
star
11

kediatR

Mediator implementation in Kotlin with native coroutine support
Kotlin
180
star
12

kafka-konsumer

Easy implementation of kafka consumer with built-in exception manager (kafka-cronsumer)
Go
147
star
13

stove

Stove: The easiest way of writing e2e tests for your JVM back-end API with Kotlin
Kotlin
146
star
14

mockingstar

Request mocking tool designed to simplify the process of http request mocking, network debugging, and UI tests for your applications.
Swift
144
star
15

four-key

four-key is a measurement tool written with golang for your repositories. This project inspired from Accelerate book.
Go
123
star
16

jest-testcontainers

Jest preset for running docker containers with your tests
TypeScript
122
star
17

kubectl-view-webhook

๐Ÿ‘€ โ€ผ๏ธ This projects aims to visualize critical parts of the admission webhook configuration resource
Go
108
star
18

android-dev-tools

Android QA/Debug tools to speed up and streamline the development progress.
Kotlin
104
star
19

ios-guidelines

95
star
20

kubectl-easy-rollback

โ™ป๏ธ Now you can easily rollback to previous deployed images whatever you want on k8s environment
Go
93
star
21

Jdempotent

Make your consumer, API, etc. idempotent easily.
Java
89
star
22

baklava-react-native

TypeScript
89
star
23

go-dcp

The Go implementation of the Couchbase DCP with various features
Go
85
star
24

quarkify

An awesome lightweight React UI Component library
TypeScript
83
star
25

perfanalytics

Web Performance Metrics
TypeScript
82
star
26

go-dcp-elasticsearch

The Go implementation of the Couchbase to Elasticsearch with DCP.
Go
74
star
27

kafka-cronsumer

Cron based Kafka exception consumer with the power of auto retry & concurrency
Go
68
star
28

go-dcp-kafka

The Go implementation of the Couchbase to Kafka with DCP.
Go
67
star
29

ios-architecture-decision-logs

62
star
30

gurubu

Simple, Fast, and Practical Task Estimation and Tech Grooming. Live demo below ๐Ÿ‘‡
TypeScript
59
star
31

Transporter

Transporter is an open-source data transferring tool developed by Trendyol with love ๐Ÿงก
C#
50
star
32

code-playground

CodePlayground is a playground tool for go and rust language.
Go
46
star
33

mockingstar-ios

Mocking Star SPM helper library for iOS applications.
Swift
46
star
34

dom-event-tracker

Dynamically tracks mutations and listens for click and seen events
JavaScript
45
star
35

overlog

Golang Logging with Mapped Diagnostic Context
Go
42
star
36

sidecache

Sidecar cache for kubernetes applications.
Go
42
star
37

boru

Boru is a pipeline solution
Kotlin
38
star
38

mockingstar-android

Mocking Star Kotlin helper library for Android applications.
Kotlin
38
star
39

go-dcp-couchbase

The Go implementation of the Couchbase to Couchbase with DCP.
Go
37
star
40

Loki

Loki provides an easy way to handle locking scenarios on distributed systems.
C#
35
star
41

kafka-shovel

Go
35
star
42

wolfichef

Secure image creator with wolfi packages.
Go
33
star
43

cbef

GitOps Capability Provider for Couchbase Eventing Functions ๐Ÿš€
Go
33
star
44

Trendyol.App

Application wrapper.
C#
30
star
45

supra

Circuit breaking http client for NodeJs. And it is fast...
JavaScript
30
star
46

k8s-webhook-certificator

๐Ÿ” ๐Ÿ—’๏ธ Creating K8S Secret which type is TLS that includes corresponding client certificates which are signed by K8S CA and private key
Go
30
star
47

MapsKit

Kotlin
28
star
48

trendyol.github.io

This repository contains the source of the http://trendyol.github.io
HTML
26
star
49

nodejs-logger

Generic NodeJs Logger for storefront applications
TypeScript
25
star
50

pollgroo

TypeScript
25
star
51

swagger-parser-burp-extension

Python
25
star
52

kafka2rabbit

Kafka to rabbit go application
Go
24
star
53

teg

Teg is a library for managing feature toggles. It aims to allow to create and access to feature toggles in Golang easily and quickly!
Go
22
star
54

Osiris

Osiris, lord of the dead and rebirth
Kotlin
20
star
55

AppSec

Java
19
star
56

smurfs

Easy way to build Micro-CLI Architecture for Developer Platform Teams
Go
18
star
57

trendyol-scheduler-service

Java
18
star
58

ios-tuist-remote-cache-example

๐Ÿ“ฆ๐Ÿ“ฑ Example of Vapor app built using the tuist remote cache feature.
Swift
18
star
59

kafka-wrapper

Go
18
star
60

kafka-retry-job

Kafka Retry Job is an open-source project for moving Kafka messages from error topics to retry topics, developed by Trendyol with love ๐Ÿงก
C#
16
star
61

kubernetes-operator-api

The Kubernetes API is a sample Kubernetes operator API using the Java Kubernetes Client. The API is designed for master-worker deployment to satisfy the requirements.
Java
16
star
62

stately

Stately is a library for managing different states of a content in Jetpack Compose.
Kotlin
16
star
63

dynamic-render

๐Ÿ’ธ Optimizes SEO by dynamically rendering javascript powered websites
TypeScript
15
star
64

Confluent.Kafka

C#
14
star
65

safe-redirect

library which resolves open-redirection vulnerability when we need to make redirection to a path taken from query string.
TypeScript
14
star
66

kafkathena-jakarta

Java
14
star
67

react-intersection-images

React lazy load images with IntersectionObserver.
TypeScript
13
star
68

redis-slack-bot

Redis Slack Bot
Java
13
star
69

vault-plugin-database-yugabytedb

Go
12
star
70

network-status

Get network status of device
TypeScript
12
star
71

trendyol-consul-template-injector

๐Ÿณ This project is impletation of "Admission Webhook Controller" of k8s , made possible to inject consul-template image as a init and sidecar container.
Go
12
star
72

react-webcomponent-poc

Using Web Components API with React. A POC and a case study.
TypeScript
11
star
73

micro-trendyol

A Micro Trendyol designed by using Hexagonal Architecture + DDD + CQRS + SAGA
11
star
74

metrics

Export four key metrics of your repositories in CSV format
Go
11
star
75

otel-kafka-konsumer

open telemetry wrapper for kafka-go and kafka-konsumer
Go
11
star
76

kube-port-finder

kube-pf is a command line tool that find available ports on kubernetes
Go
11
star
77

debezium-with-smt

Java
10
star
78

consul-template-demo

Shell
10
star
79

codex

TypeScript
9
star
80

sonar-stryker-net-plugin

Java
9
star
81

dynamic-config-listener

Dynamic Config Listener
TypeScript
9
star
82

AutoFac.Extras.NLog.DotNetCore

Autofac Logging Module for NLog. Ported to .NET Standard 2.0 for .NET Core.
C#
8
star
83

go-future

Go routines with wait ability.
Go
8
star
84

verg

Semantic versioning CLI
Go
8
star
85

Commander-AS-Plugin

Kotlin
7
star
86

gomapper

An auto mapping tool for Golang DTOs
Go
6
star
87

CorrelationId

CorrelationId middleware for Dotnet projects
C#
6
star
88

ty-cookie-helper

simple cookie helper that provides functions to CRUD cookies
TypeScript
6
star
89

nodejs-fixture-repository

TypeScript
6
star
90

rate-limiting-with-ksql

Async Rate Limiting with ksqlDB
Java
6
star
91

openstack-swift-sdk

Openstack Swift SDK
TypeScript
6
star
92

kafkathena-commons

Smart, Fast, Customizable Consumer Configurations Common Utility Library
Java
6
star
93

mlflow-operator

Kubernetes Operator for MLflow
Go
6
star
94

apisix-plugins

Our downstream plugins (or modifications) for Apache APISIX.
Lua
5
star
95

infobip-client

Go
5
star
96

goncolos

Goncolos is simple wrapper top of confluent-kafka-dotnet
C#
4
star
97

express-validate-decorator

Validate expressjs request body and query.
TypeScript
4
star
98

ratelimit-operator

Istio rate limit operator
Go
4
star
99

wolfichef-fe

Wolfichef front-end project
Vue
4
star
100

jwt-generator

Java
4
star