Hamzali / anqet

An Questionare Application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Anqet

Bir anket uygulaması!

Projeyi kısıtlı zaman içinde olabildiğince tamamlayabilmek için React Native dökümanın da önerdiği gibi Expo ile kurdum ve tamamen Native olan Expo Navigation kütüphanesini kullandım.

Proje genel repo yönetim mantığı "locality of behaviour" felsefi üzerine kurulmuştur. Uygulama genelinde state async ve sync olarak iki temel yapıya bölünmüştür. Async state management server ve IO gerektiren dış etkenlere bağlı state olarak react-query ile yönetilmiştir. Sync state ise local ve global olarak karmaşıklığına ve erişimine göre useState ve context api kullanılarak yönetilmiştir.

Anket soru tipleri bir JSON şeması olarak veritabanında saklanır ve her tip JSON soru konfiginin karşılığı renderlama yapılır böylece hem sistem soru konfigleri genişleyebilir hem de birden fazla anket tipi sadece konfigürasyon değiştirerek oluşturulabilir.

schema

Kullanınlan teknolojiler;

  • expo: temel geliştirme ortamı ve bazı native eklentiler
  • supabase: veritabanı ve kimlik doğrulama
  • react-query: async state management
  • context api: global veya paylaşılan state yönetimi
  • react native ui lib: tema ve arayüz bileşenleri

Uygulamayı kullanmak için öncelikle Expo Go yükleyin sonra exp://161.35.85.58:8081 adresi üzerinden veya aşağıdaki QR okutarak erişebilirsiniz.

expo qr

Local üzerinde çalıştırıp kullanmak için;

  • npm install
  • npm start
  • Expo Go uygulamasını telefonunuza yükleyin sonra açın ve konsoldaki QR kodu okutun.

About

An Questionare Application


Languages

Language:TypeScript 99.2%Language:JavaScript 0.8%