Grisoft Code Challange

Overview

Grisoft Code Challange

lib klasörü içine components, language, screens, services ve theme adında klasörler oluşturularak ilgili dosyalar bu klasörler altında tutulmuştur. components klasöründe her yerde kullanılabilecek buton widget'ı ve snackbar fonksiyonu bulunmaktadır. language.dart dosyasında uygulamada kullanılan yazılar Türkçe ve İngilizce dilleri ile tanımlanmıştır. screens klasöründe uygulamada kullanılan ekranlar bulunmaktadır. services klasöründe API işlemlerinin yapıldığı api.dart dosyası vardır. theme.dart dosyasında ise uygulamada kullanılan renkler tanımlanmıştır.

Uygulama main.dart dosyasındaki main fonksiyonuyla başlamaktadır ve burada MyApp adlı widget çalıştırılmıştır. home parametresine ise gösterilecek ilk ekran olan MainScreen ekranı yazılmıştır.

MaterialApp yerine GetX kütüphanesine ait GetMaterialApp kullanıldı. GetX state management, navigation manager, internationalization ve tema kullanımı desteği sağlayan bir kütüphanedir. Bu projede kullanılmasının sebebi, yazıların cihaz diline göre ayarlanması istenmesidir. Tek sayfalık bir proje olduğu için route ve state management kullanılamamıştır ancak kullanılan projelerde verim alınan bir kütüphanedir.

Uygulamada tek ekran bulunmaktadır. Widget boyutlarının kullanılan ekran boyutuna göre ayarlanmasında ekran boyutunu almak için MediaQuery.of(context).size kullanılmıştır.

shape.svg, link kısaltmak için bulunan TextFormField ve buton her durumda gösterilmiştir. TextField ve buton form widget'ı içinde kullanılarak validation işleminin yapılması sağlanarak TextFormField alanı boş olduğunda uyarı verdirilmiştir.

Eğer kısaltılmış link bulunmuyorsa boş olan ekran gösterilmiştir. Kısaltılmış link varsa Link History olarak linklerin listesi gösterilmiştir. Kısaltılmış linklerin listelenmesi için ListView.builder kullanılmıştır.

svg uzantılı dosyaları göstermek için flutter_svg kütüphanesi kullanılmıştır.

shrtcode API'ye bağlantı sağlamak için http kütüphanesi kullanılmıştır. http.get fonksiyonuna kısaltılması istenen url gönderilerek dönen response try-catch kullanılarak herhangi bir hata olması durumu göz önünde bulundurularak fonksiyona geri gönderilmiştir.

Butona tıklanıldığında getShortLink() fonksiyonu çalışmaktadır. Bu fonksiyonda API isteği yapılıp gelen sonuca göre kısaltılmış link bulunuyorsa Link History kısmında gösterilecek kısaltılmış linklerin tutulduğu shortLinkArray listesine eklenmesi işlemleri yapılmıştır.

copyLink() fonksiyonu kısaltılmış linkleri kopyalamak için, deleteLink() fonksiyonu listede bulunan kısaltılmış linki silmek için kullanılmıştır.

Kullanılan Kütüphaneler

  1. get
  2. flutter_svg
  3. http

Video

video.mp4
You might also like...

Flutter plugin to simply integrate Agora Video Calling or Live Video Streaming to your app with just a few lines of code.

Agora UI Kit for Flutter Instantly integrate Agora video calling or video streaming into your Flutter application. Getting started Requirements An Ago

Dec 16, 2022

A comprehensive guide on learning how to code cross platform mobile applications with the Flutter framework, from the ground up.

A comprehensive guide on learning how to code cross platform mobile applications with the Flutter framework, from the ground up.

✳️ The Ultimate Guide to App Development with Flutter ✳️ A complete and comprehensive guide to learning Flutter with explanations, screenshots, tips,

Jan 1, 2023

This app I used for my daily practice flutter widget and code from afgprogrammer.

This app I used for my daily practice flutter widget and code from afgprogrammer.

food_delivery A new Food Delivery App Flutter project. design view Code by afgprogrammer. Getting Started This project is a starting point for a Flutt

Oct 10, 2021

Flutter ui boilerplate is easiest way to create new flutter project with clean code and well organized file folder.

Flutter ui boilerplate is easiest way to create new flutter project with clean code and well organized file folder.

Flutter UI Boilerplate "Sharing for fun" Flutter ui boilerplate is easiest way to create new flutter project with clean code and well organized file f

Dec 1, 2022

Code for the "That's how we scroll in Flutter" workshop

flutter_custom_scroll A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you st

Nov 11, 2022

Scaffolding code for the clock in the Flutter Clock contest

Scaffolding code for the clock in the Flutter Clock contest

Flutter Clock Helper This package provides scaffolding code for the clock in the Flutter Clock contest. Contestants: Do not edit this code. Model Prov

Nov 17, 2021

Create dart data classes easily, fast and without writing boilerplate or running code generation.

Create dart data classes easily, fast and without writing boilerplate or running code generation.

Dart Data Class Generator Create dart data classes easily, fast and without writing boilerplate or running code generation. Features The generator can

Feb 28, 2022

Code With Andrea Home Page - Flutter Clone

Code With Andrea Home Page - Flutter Clone

Code With Andrea - Flutter Clone This project is a Flutter clone of the home page at codewithandrea.com. It was built to analyze the performance of th

Dec 28, 2022

Powerful, helpfull, extensible and highly customizable API's that wrap http client to make communication easier with Axelor server with boilerplate code free.

Powerful, helpfull, extensible and highly customizable API's that wrap http client to make communication easier with Axelor server with boilerplate code free.

flutter_axelor_sdk Powerful, helpful, extensible and highly customizable API's that wrap http client to make communication easier with Axelor server w

Dec 25, 2022
Owner
null
A full screen mobile scanner for scanning QR Code and Bar Code.

Flutter QR Bar Scanner A Full Screen Scanner for Scanning QR code and Barcode using Google's Mobile Vision API Reading & Scanning QR/Bar codes using F

Lutfor Rahman 31 Oct 5, 2022
Verify code input. You can create a verify code input.

flutter_verification_code_input A Flutter package that help you create a verification input. Installing flutter_verification_code_input: git:

Tiny Express 49 Dec 7, 2022
Verify code input. You can create a verify code input.

flutter_verification_code_input A Flutter package that help you create a verification input. Installing flutter_verification_code_input: git:

Tiny Express 49 Dec 7, 2022
Enum extendable - Dart code generator. Generates enum extensions code.

Generates code for the extension on an enum. Overview Being able to add fields and methods to an enum. Let's say we have the following enum: enum Math

null 0 Jan 10, 2022
Android test task master - Create PIN code screen, authentication by PIN code screen and menu screen

Here is described test tasks for a android dev. Need to implement three screens:

null 3 Oct 4, 2022
Code-quizzy - Code Quizzy Application Built With Flutter

Flutter Code Quizzy Application Configuration for this application Fortunately,

Nijat Namazzade 21 Jan 1, 2023
Write iOS&Android Code using Dart. This package liberates you from redundant glue code and low performance of Flutter Channel.

Dart_Native Dart_Native operates as both a code generator tool and a bridge to communicate between Dart and native APIs. Replaces the low-performing F

DartNative 893 Jan 4, 2023
A Flutter mobile application built completely using DhiWise and Supabase without coding single line of code. With 100% system generated code

Flutter Expension Getting Started with Flutter ?? Generated with ❤️ from Dhiwise A Flutter mobile application built completely using DhiWise and Supab

DhiWise 11 Oct 23, 2022
Shader manages the compilation of your GLSL shaders into SPIR-V byte code and Dart code

shader Shader manages the compilation of your GLSL shaders into SPIR-V byte code and Dart code. Quickstart # Install cli dart pub global activate shad

Felix Blaschke 25 Dec 1, 2022
Flutter quick code snippets - Feel free to contribute.

Flutter quick code snippets Points to be noted Here you can add your own quick flutter code snippets which can be referred while coding Please make a

Deepa Pandey 13 Sep 21, 2022