Skip to content

rzayevsahil/Pinterest-Insta-clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pinterest-Insta-clone

Pinterest tarzında instagram klonu

Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 001

Mobil Uygulama Geliştirme

Öğrenci : Sahil Rzayev 399973

Proje adı : Instagram Clone

Uygulama açıklaması

Genel görüntü olarak günümüzde popüler olan Instagram uygulamasına benzetmeye çalıştım. Uygulamanın özelliklerine bakarsak sağ üst köşede paylaşım(yani resim) ekleme ve hesaptan çıkış yapma butonları yer alıyor. Alt kısımda yer alan bar’da ana sayfa ve profil güncelleme menüleri mevcut.

Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 002

Tasarım olarak dikkat etdiğimizde paylaşım yapan kullanıcıların profil resimleri ve kullanıcı isimleri aynı hizada paylaştıkları fotoğrafın üzerinde yer alıyor. Fotoğrafın alt kısmında ise kullanıcının paylaşımı paylaştığı zaman ona eklediği comment yeralıyor.

Bu kısım gönderi paylaşma kısmı. Fotoğraf seçmeden upload butonuna basarsak resim seçmedik diye bize uyarı mesajı gösterecektir.
Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 003

Resmi seçdikten sonra comment ekleyip eklememek kullanıcının isteğine bırakılmış(yani mecburi değil).

Upload butonun tıkladığında ana sayfaya yönlendiriliyor ve paylaşdığı fotoğraf da ana sayfada gözüküyor.

Burası kullanıcının profilini güncellediği kısım. Update butonuna basınca profilini güncelliyor ve ana sayfaya yönlendiriliyor. back - ana sayfaya dönme butonu.

Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 004

Burası kullanıcınıdaha önce var olan bir hesabı yoksa kayıt olma yeri.
Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 005

Burada profil fotoğrafı, kullanıcı adı, email, ve şifresini yazarak uygulamaya kayıt oluyor. Butona tıkladığı zaman eklediği resim boyutuna ve internet hızına göre belli bir süre gecikme oluyor(firebase’de storage kısmına ekleme işlemi yapılıyor bu süre çünkü) ve sonra direk ana sayfaya yönlendiriliyor.

Uygulama kodları açıklaması

Not: Uygulama kodları içinde birçok yerde yorum satırı ekledim.

Model – burada sınıflar mevcut. Adapter – adapter yer alıyor. View – Activity’ler yer alıyor.

Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 006

Layout – Genel görüntü xml’leri yer alıyor

Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 007

Menu

  • option_menu.xml – uygulamadaki sağ üst köşedeki iconlar burada yer alıyor
  • bottombar_menu.xml – uygulamada alt kısımda yer alan menü burada tanımlanıyor

Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 008

  • MainActivity – Giriş yapma olayı burada yapılıyor
  • SignUpActivity – Kayıt olma işlemleri burada yapılıyor
  • FeedActivity – Ana sayfa yani paylaşımların tümünün gözüktüğü ekran
  • UpdateProfileActivity – Profil güncelleme kısmı
  • UploadActivity – Paylaşım paylaşma kısmı

PostAdapter – Gelen verileri(yani kullanıcıların paylaştığı paylaşımlar) adapter sayesinde ana ekrana aktarıyoruz.

  • Post – Uygulama içinde paylaşılan paylaşımların sınıfı*

Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 009

  • Profile – Kullanıcı profili sınıfı

Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 010

  • Implementasyonlar:

Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 011

  • Genel olarak kullandığım yapılardan biri de View binding yapısıdır. View’larla etkileşime giren kodu daha kolay yazmamıza olanak sağlıyor. Aynı zamanda bu yapıyla fazla kod satırlarının önüne geçmiş oluyoruz. Örnek:

Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 011

Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 012

Aspose Words 7eb922a5-0fcb-471b-a9ec-2289088f63d3 013

Not: Kod satırları çok fazla olduğu için hepsinin fotoğrafını buraya ekleyemedim. Ama birçok yerde anlaşılır olsun diye yorum satırları bıraktım.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages