Giter Site home page Giter Site logo

debanshu777 / instagram-clone Goto Github PK

View Code? Open in Web Editor NEW
18.0 2.0 4.0 9.07 MB

Multiplatform App with Flutter 3 and Firebase. Support for android, iOS, Macos and Web. ๐Ÿšง Working on making the view more Responsive, and support for Windows and Linux

Home Page: https://instagram-clone-5c122.firebaseapp.com/#/

License: Apache License 2.0

Kotlin 0.10% Ruby 1.95% Swift 1.19% Objective-C 0.03% Dart 66.02% CMake 13.17% C++ 15.19% C 1.03% HTML 1.33%
firebase flutter dart flutter-apps flutter-demo flutter-examples instagram-clone

instagram-clone's Introduction

Instagram Clone

Instagram Clone with Flutter 3 and Firebase. This Project focus towards Multiplform feature of flutter, and Responsive UI.

  • Android, iOS & Web(stable)
  • Macos (issue: image_picker not available)
  • Windows and Linus ๐Ÿšง (inprogress: Firebase not supported using Firedart)

Features

  • Feed Screen
    • View Post, with realtime UI upadtes with stream builder
    • Live Comments on post
    • Delete Post
    • Heart Animation on liking
  • Search Screen
    • Search screen showing all images except your own
    • Search based on usernames
  • Image Upload Screen
    • Upload Image with Description
  • Profile Screen
    • Follow/Unfollow feature
    • Grid View of iamges

Todo

  • One-One Chat Screen
  • Edit User details
  • Google SignIn
  • Video sharing and Tagging Support
  • Unit Testing
  • Adding features to Responsive View
  • Notification Screen
  • Windows and Linux Support
  • Github Action Pipeline
video.mp4

Getting Started

1. Setup Flutter

2. Clone the repo

$ git clone https://github.com/debanshu777/Instagram-Clone
$ cd Instagram-Clone/

3. Setup the firebase app

1. You'll need to create a Firebase instance. Follow the instructions at https://console.firebase.google.com.

2. Once your Firebase instance is created, you'll need to enable Eamil & password authentication.

3. Enable the Firebase Database

  • Go to the Firebase Console
  • Click "Database" in the left-hand menu
  • Click the Cloudstore "Create Database" button
  • Select "Start in test mode" and "Enable"
  • Go to the rules tab and remove line no: 6

4. Enable Firebase Storage: Do the same as above

5. (skip if not running on Android)

  • Create an app within your Firebase instance for Android, with package name com.example.instagram_clone
  • Run the following command to get your SHA-1 key:
keytool -exportcert -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore
  • In the Firebase console, in the settings of your Android app, add your SHA-1 key by clicking "Add Fingerprint".
  • Follow instructions to download google-services.json
  • place google-services.json into /android/app/.

6. (skip if not running on iOS)

  • Create an app within your Firebase instance for iOS, with your app package name
  • Follow instructions to download GoogleService-Info.plist
  • Open XCode, right click the Runner folder, select the "Add Files to 'Runner'" menu, and select the GoogleService-Info.plist file to add it to /ios/Runner in XCode (Use XCode for ths=is other way doesn't make sure the configuration)
  • Make sure to add these in your /ios/Runner/Info.plist in side <dict> block to acces the camara and gallery
    <key>NSPhotoLibraryUsageDescription</key>
	<string>Photo Library Usage</string>
	<key>NSCameraUsageDescription</key>
	<string>Camara Usage</string>
	<key>NSMicrophoneUsageDescription</key>
	<string>Microphone Usage</string>

7. (skip if not running on macos)

  • Follow instructions to download GoogleService-Info.plist
  • Put it inside /macos/

Double check install instructions for both

Firebase Firestore & Firebase Storage Structure

Firebase Storage Schema is simple, 
- posts---Folder(User ID as name)---images inside
- profileIamge---Images(User ID as name)

Want to Contribute ?

Awesome! If you want to contribute to this project, you're always welcome! Have any questions, doubts or want to present your opinions, views? You're always welcome. You can mail me at [email protected] or make an issue. Looking for contributors! Don't be shy. ๐Ÿ˜ Feel free to open issues/pull requests to help me improve this project.

  • When reporting a new Issue, make sure to attach Screenshots, Videos or GIFs of the problem you are reporting.
  • When submitting a new PR, make sure tests are all green. Write new tests if necessary.

Contributors

License

The Instagram name, artwork, trademark are all property of Meta Inc. This project is provided for educational purposes only. It is not affiliated with and has not been approved by Meta Inc.

instagram-clone's People

Contributors

debanshu777 avatar domesticmouse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

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.