Giter Site home page Giter Site logo

demir / pinmapper Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 14.67 MB

Explore Pins around the world

Home Page: https://www.pinmapper.com

License: MIT License

Ruby 42.23% JavaScript 3.06% CSS 0.07% HTML 14.94% SCSS 35.38% PLpgSQL 4.32%
pin social-media travel travel-app traveler trip

pinmapper's Introduction

pinmapper's People

Contributors

demir avatar

Stargazers

 avatar

Watchers

 avatar

pinmapper's Issues

Pin modelindeki privacy alanı kaldırılmalı

Bu tasarım önerisi bir problemle mi ilgili? Lütfen detaylıca açıklayınız

Pin modelinde şu an aktif kullanılmayan privacy alanı kaldırılmalı. Çünkü Pinmapper başlangıçta para kazanamayacak. Bu süreçte masraflar cepten karşılanacak. Pin'ler fotoğraf içerebileceği için ve konum servisini kullandığı için her Pin masraf demek. Bu yüzden private Pin'ler uygulama Pin havuzuna bir katkı sunmayacağından başlangıç aşamasında bu özelliği devre dışı bırakmak gerekiyor. İlerleyen dönemlerde Pinmapper maddi açıdan kendini döndürmeye başladığında privacy özelliği yeniden eklenebilir.

Sizin çözümünüz

Şimdilik privacy özelliği kaldırılmalı.

Pin oluştururken cropper'dan scroll ile zoom özelliği kaldırılmalı

Bu tasarım önerisi bir problemle mi ilgili? Lütfen detaylıca açıklayınız

Pin oluştururken imaj crop aşamasında yanlışlıkla scroll ile zoom yapılabiliyor. Bu durumda imaj küçülüyor ya da büyüyor ve crop işi zorlaşıyor.

Sizin çözümünüz

Crop sırasında scroll ile zoom özelliği kaldırılabilir

Ekran görüntüleri

Screen Shot 2021-10-15 at 16 40 08

Başkasının Panosu takip edilebilmeli

Açıklama

Kullanıcıların başkalarının Panolarını takip edebilmesi gerekiyor. Bunun için Panolara takip et veya takibi bırak butonları eklenmeli

Pin üzerindeki adrese tıklayınca location ekranı açılsın

Açıklama

PinComponent üzerinden ya da pin detay ekranı üzerinden yol tarifi alma ya da haritada konumu gösterme özelliği eklenmesi faydalı olur. Yol tarifi alma için Pin'in adres bilgisi üzerine tıklama özelliği eklenebilir. Bu bölüm component de yapılabilir.

Harita için ayrı bir ekran oluşturulabilir. Pin üzerindeki adres bilgisine tıklandığında bu ekran açılır. Ekranda ilgili pin haritada gösterilir. Bu pinle beraber yakındaki pinler ve sponsorlu pinler de gösterilebilir. Bu arada instagramda harita için sadece leaflet + openstreetmap kullanılmış.

Örnek:
Screen Shot 2022-03-11 at 15 11 13

Arama (Keşfet) ekranı eklenmeli

Açıklama

Kullanıcı, Pin ve Pano (gerekmeyebilir) aramasının yapılabileceği bir ekran gerekiyor. Bu sayede çok daha fazla Pin'e erişilebilir.

Notlar

PgSearch iyi bir tercih gibi görünüyor. Yeni bir şey eklemeden bu şekilde devam edilebilir.

Kaynaklar

URL'e geçerli locale'ler dışında bir veri girildiğinde uygulama hata veriyor

Hatayı açıklayın

Locale olarak tr ya da en'den başka bir değer girildiğinde uygulama hata veriyor.

Beklenen davranış

Hata vermemesi gerekiyor. Bunun yerine varsayılan locale aktif edilmeli

Mevcut davranış

Uygulama hata veriyor

Ekran görüntüleri

Screen Shot 2022-07-01 at 14 45 35

Muhtemel çözüm

Hata:

Completed 500 Internal Server Error in 1ms (ActiveRecord: 0.0ms | Allocations: 175)
FATAL -- :
I18n::InvalidLocale (:ar is not a valid locale):
app/controllers/application_controller.rb:27:in `with_locale'

Bu bölüm düzenlenmeli

Hatayı tekrarlamak için takip edilmesi gereken adımlar

  1. Herhangi bir sayfayı aç
  2. Locale olarak tr ve en dışında bir değer gir

Profil ekranına bio alanı eklenmeli

Açıklama

Profile ekranına kişisel bilgilerin yer alacağı bio (text) alanı eklenmeli. Kullanıcılar bu alana iletişim vb bilgilerini yazabilir. Örneğin mail adresi ya da sosyal medya adresleri.

Pano açıklama alanı eklenebilir

Açıklama

Pano açıklama alanına pano ile ilgili açıklama eklenebilmesi iyi olur. Zorunlu bir alan değil. Bu alan text olabilir. Pano büyük bir gezi için açılmışsa bu alanda gezinin değerlendirmesi yapılabilir. Fotoğraf bile eklenebilir.

SmallPinComponent üzerinde panoya ekle/çıkar butonu olmalı

Açıklama

Pano üzerinde gösterilen Pin'leri panodan çıkarmak için Pin detay ekranına girmek gerekiyor. Bunun yerine bu ekranda bu işlemi yapabilmek gerekiyor. Bunun için SmallPinComponent üzerinde panoya ekle/çıkar butonun küçültülmüş hali eklenebilir.

Pin ekranları eklenmeli

Açıklama

Temel seviyede pin ekranları eklenmeli.

Oturum açan kullancılar;

  • Pin oluşturabilmeli
  • Kendi Pin'lerini düzenleyebilmeli
  • Kendi Pin'lerini silebilmeli
  • Diğer kullanıcıların pinlerini beğenebilmeli

Oturum açmamış kullanıcılar;

  • Herkese açık Pin'leri görebilmeli

Pin içeriğine eklenen imajlar bir süre sonra siliniyor

Hatayı açıklayın

Pin içeriğine (active storage) eklenen imajlar bir süre sonra siliniyor.

Beklenen davranış

Silinmemesi gerekiyor.

Ekran görüntüleri

Screen Shot 2022-01-27 at 03 08 09

Hatayı tekrarlamak için takip edilmesi gereken adımlar

  1. Pin eklerken pin içeriğine imaj ekle
  2. Birkaç gün sonra kontrol et

Pano detay ekranı geliştirilmeli

Açıklama

  • Panoya eklenen Pin'ler bu ekranda listelenmeli.

  • Bu ekrandaki Pin'ler biraz küçük olmalı. Pinler ekranındaki Pin'ler gibi büyük Pin'ler kullanılırsa tek bakışta etkinlik hakkında fikir edinmek zor olur. Örneğin Karadeniz adlı Pano üzerinden Karadeniz gezisi yapmak istiyorum. Ekrana baktığımda kabaca hangi Pin'ler olduğunu görmeliliyim ki bana gezi hakkında fikir versin. Yoksa sürekli ekranı kaydırıp Pin'leri tek tek görmek gerekecek.

  • Pin'ler sürüklenerek sıralanabilmeli.

Ek İçerik

  • Aşağıdaki tasarım fikir verebilir. Video fotoğrafının yanındaki iki çizginin üzerine gelince cursor değişiyor ve tutan el gibi görünüyor. Burada click yapıp videolar sıralanabiliyor.

Screen Shot 2021-10-27 at 02 42 08

Screen Shot 2021-10-27 at 03 05 55

Pin index ekranında büyük veri olduğunda Pinler çok geç geliyor

Bu tasarım önerisi bir problemle mi ilgili? Lütfen detaylıca açıklayınız

Birden çok sorgu or ile birleştirildiğinden sorgu uzun sürüyor. Pluck ile büyük veri çekiliyor. Bunun yerine daha pagy ile pagination'a izin veren bir sorgu yazmak gerekiyor.

Sizin çözümünüz

Arel kullanılabilir. İncelemek lazım.

Counter cache bilgisini arada yenilemek gerekiyor

Açıklama

Herhangi bir sebeple counter cache için gerekli callback'ler çalışmazsa count bilgilerinde tutarsızlık olaşabilir. Bu durumu engellemek için belli aralıklarla bu bilgiyi yenilemek gerekiyor. Kullanılan counter_culture gem haftada bir counter_culture_fix_counts metodunun çalıştırılmasını öneriyor. Bunu bir background job ile çalıştırmak lazım. Production'da bu düzenleme yapılmalı. Gem'in konuyla ilgili dokümanı: https://github.com/magnusvk/counter_culture#manually-populating-counter-cache-values

Ayarlar ekranları eklenmeli

Açıklama

Eklenmesi gereken ekranlar:

  • Profili Düzenle
  • Kullanıcı Adını Değiştir
  • E-postayı Değiştir
  • Parolayı Değiştir

En sondaki Pin için Panoya Ekle paneli doğru konumlanmıyor

Hatayı açıklayın

Küçük ekranlarda bir Pinlerin listelendiği bir sayfada son Pin içini Panoya Ekle paneli doğru çalışmıyor. Sayfa sürekli panelin üzerine doğru scroll yapıyor. Container'ın içindeki son eleman olduğu için, açılan panele yeterli alan kalmıyor sanırım. Pin'in altına gerekli boşluk bırakılırsa sorun olmuyor.

Ekran görüntüleri

Screen Shot 2022-01-01 at 20 06 17

panoya.ekle.hatasi.mp4

Hatayı tekrarlamak için takip edilmesi gereken adımlar

  1. Pinler sayfasına git
  2. Sayfanın en altına ilerle
  3. Son Pin üzerindeki panoya ekle butonuna tıkla

Ekran küçüldüğünde imajlar en boy oranına göre küçülmüyor

Hatayı açıklayın

Ekran küçüldüğünde imajların da ekran boyutuna göre küçülmesi gerekiyor. Şu an imajların boyutu değişmiyor. Bu yüzden küçük ekranlarda yana doğru imaj taşması oluyor

Beklenen davranış

Ekranla beraber imajların da küçülmesi

Mevcut davranış

Ekranla beraber imajalr küçülmüyor

Ekran görüntüleri

Screen Shot 2021-10-15 at 15 57 55

Muhtemel çözüm

CSS ile çözülebilir

Hatayı tekrarlamak için takip edilmesi gereken adımlar

  1. Pinlerin listelendiği ekrana git
  2. Ekranı en küçük haline getir
  3. Sağa doğru scroll yap

Pin üzerinde Pin'in eklendiği Panolar (Pin sahibinin) gösterilmeli

Açıklama

Pin üzerinde Pin'in eklendiği Panolar (Pin sahibinin) gösterilmeli. Bunun için component oluşturulabilir. Bir pano için aşağıdaki gibi, birden çok pano için x panosuna ve 4 tane daha panoya (link olacak şekilde) eklendi şeklinde gösterilebilir. Linke tıklandığında da pin'in eklendiği bütün panolar açılan modalda gösterilebilir.

Screen Shot 2022-01-31 at 14 16 51

Pin kapak fotoğrafı yükseklik/en oranı çok yüksek olmamalı

Bu tasarım önerisi bir problemle mi ilgili? Lütfen detaylıca açıklayınız

Bu oran yüksek olduğunda Pinlerin listelendiği ekranda tek pin ekranı kapatabiliyor.

Sizin çözümünüz

Kapak fotoğrafı eklerken sınırlama getirilebilir. Ya da gösterirken scale edilebilir.

Ekran görüntüleri

N/A

Locale (Dil) bilgisi veritabanında tutulmalı

Bu tasarım önerisi bir problemle mi ilgili? Lütfen detaylıca açıklayınız

Locale bilgisi şu an cookie'de tutuluyor. Kişi başka başka bir tarayıcıda oturum açtığında cookie bilgisi olmadığı için dil varsayılana dönüyor.

Sizin çözümünüz

Bunun yerine dil bilgisi veritabanında tutulursa, farklı bir tarayıcıdan oturum açıldığında dil bilgisi doğru gelecektir. Ayrıca varsayılan dil bilgisi gelen requet'in konumuna göre belirlenmeli. Yani istek türkiyeden geliyorsa varsayılan locale tr olmalı.
Ayrıca link paylaşımlarında url içinde locale olduğu için link'i açan kişinin tarayıcısında site üzerinde dil değişikliğine sebep olabilir.

Güncelleme:
Rails guide'ına göre locale bilgisini request header'ından almak konumdan almaya göre daha iyi. Oturum açanlar için de locale bilgisini db'de tutmak mantıklı. Ayrıca locale bilgisini cookie'de tutmak kesinlikle önerilmiyor. Kullanıcı, linki paylaşırken ne görüyorsa, linki açan da onu görmeli.

Ekran görüntüleri

N/A

Ekranlara minimum yükseklik eklenmeli

Bu tasarım önerisi bir problemle mi ilgili? Lütfen detaylıca açıklayınız

Veri olmayan ekranlarda footer yukarı kayıyor.

Sizin çözümünüz

Bunu engellemek için minimum yükseklik eklemek gerekiyor.

Ekran görüntüleri

Screen Shot 2021-11-23 at 02 22 42
Screen Shot 2021-11-23 at 02 22 52

Uygulama içinde Email yerine Username kullanılmalı

Bu tasarım önerisi bir problemle mi ilgili? Lütfen detaylıca açıklayınız

Uygulama içinde Email yerine Username kullanmak uygun olur. Email yerine Username ile de giriş yapılabilmeli.

Sizin çözümünüz

Kayıtlanma aşamasında Username belirlenebilir. Diğer uygulamalar (Google, Facebook, Twitter) üzerinden kayıt (giriş) yapıldığında kullanıcı adı servisten gelen isme göre random atanacak. Sonradan kullanıcı isterse kullanıcı adını güncelleyebilecek. Örneğin Google'dan gelen isim 'Emre Demir' olsun. Bu durumda emredemir1 ya da emredemir2 gibi kullanıcı adları otomatik oluşturulacak.

Ekran görüntüleri

N/A

Küçük ekranlar için nav menü düzenlenmeli

Bu tasarım önerisi bir problemle mi ilgili? Lütfen detaylıca açıklayınız

Küçük ekranlarda nav menüdeki bağlantılar direk gösterilmeli. Örneğin şu an küçük ekrandayken 'Panolar' bağlantısını görmek için hamburger butonuna tıkladıktan sonra bir de kullanıcı fotoğrafına tıklamak gerekiyor. Bunun yerine 'Panolar' bağlantısı en üst seviyede olmalı. Yani hamburger butonuna tıklandığında direk görünmeli.

Sizin çözümünüz

Html/Css düzenlemesi yapılmalı

Ekran görüntüleri

Screen Shot 2021-10-22 at 15 01 09

Mobilde Pin düzenle ekranında kapak fotoğrafı ekrandan taşıyor

Hatayı açıklayın

Mobilde Pin düzenle ekranında kapak fotoğrafı ekrandan taşıyor

Beklenen davranış

Ekrana sığrılması gerekiyor

Mevcut davranış

Sağa doğru kayma oluyor

Ekran görüntüleri

Screen Shot 2021-12-21 at 16 07 39

Muhtemel çözüm

Pin formunda imaja responsive özelliği vermek yeterli olabilir

Hatayı tekrarlamak için takip edilmesi gereken adımlar

Kapak fotoğrafı ile beraber Pin oluştur
Mobildeyken Pin düzenleme ekranına gir

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.