Code Monkey home page Code Monkey logo

socialmedia-app's Introduction

πŸ”₯πŸ”₯ Wooble Social Media App Twitter Follow

Wooble is a fully functional social media app with multiple features built with flutter and dart.

Star⭐ the repo if you like what you seeπŸ˜‰.

✨ Requirements

  • Any Operating System (ie. MacOS X, Linux, Windows)
  • Any IDE with Flutter SDK installed (ie. IntelliJ, Android Studio, VSCode etc)
  • A little knowledge of Dart and Flutter
  • A brain to think πŸ€“πŸ€“

Features

  • Custom photo feed
  • Post photo posts from camera or gallery
    • Like posts
    • Comment on posts
      • View all comments on a post
  • Search for users
  • Realtime Messaging and Sending images
  • Deleting Posts
  • Profile Pages
    • Change profile picture
    • Change username
    • Follow / Unfollow Users
    • Change image view from grid layout to feed layout
    • Add your own bio
  • Notifications Feed showing recent likes / comments of your posts + new followers
  • Swipe to delete notification
  • Dark Mode Support
  • Stories/Status
  • Used Provider to manage state

Screenshots

Installation

2. Clone the repo

3. Setup the firebase app

  • You'll need to create a Firebase instance. Follow the instructions at https://console.firebase.google.com.
  • Once your Firebase instance is created, you'll need to enable Google authentication.
  • Go to the Firebase Console for your new instance.
  • Click "Authentication" in the left-hand menu
  • Click the "sign-in method" tab
  • Click "Email and Password" and enable it
  • Create an app within your Firebase instance for Android, with package name com.yourcompany.news
  • 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/.
  • (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
  • Open /ios/Runner/Info.plist in a text editor. Locate the CFBundleURLSchemes key. The second item in the array value of this key is specific to the Firebase instance. Replace it with the value for REVERSED_CLIENT_ID from GoogleService-Info.plist

Double check install instructions for both

What's Next?

  • [] Video Calling
  • [] Reels
  • [] Sending and Uploading Videos(Video Compatibility)

Note

  • The stories feature is ready, you can write a cloud scheduler function to auto delete stories after 24hrs as cloud functions is not enabled in this project

πŸ€“ Author(s)

Charly Keleb CharlyKeleb Twitter Follow

socialmedia-app's People

Contributors

bella-stack avatar charlykeleb avatar deyikong avatar mikkyboy357 avatar theiskaa avatar

Stargazers

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

Watchers

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

socialmedia-app's Issues

Posting have errors

I'm getting this error

E/AndroidRuntime(32258): FATAL EXCEPTION: main E/AndroidRuntime(32258): Process: com.example.social_media, PID: 32258 E/AndroidRuntime(32258): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=69, result=0, data=null} to activity {com.example.social_media/com.example.social_media.MainActivity}: java.lang.IllegalStateException: Reply already submitted E/AndroidRuntime(32258): at android.app.ActivityThread.deliverResults(ActivityThread.java:5143) E/AndroidRuntime(32258): at android.app.ActivityThread.handleSendResult(ActivityThread.java:5184) E/AndroidRuntime(32258): at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51) E/AndroidRuntime(32258): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:140) E/AndroidRuntime(32258): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:100) E/AndroidRuntime(32258): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2222) E/AndroidRuntime(32258): at android.os.Handler.dispatchMessage(Handler.java:107) E/AndroidRuntime(32258): at android.os.Looper.loop(Looper.java:228) E/AndroidRuntime(32258): at android.app.ActivityThread.main(ActivityThread.java:7782) E/AndroidRuntime(32258): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(32258): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) E/AndroidRuntime(32258): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:981) E/AndroidRuntime(32258): Caused by: java.lang.IllegalStateException: Reply already submitted E/AndroidRuntime(32258): at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:155) E/AndroidRuntime(32258): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:238) E/AndroidRuntime(32258): at vn.hunghd.flutter.plugins.imagecropper.ImageCropperDelegate.onActivityResult(ImageCropperDelegate.java:106) E/AndroidRuntime(32258): at io.flutter.embedding.engine.FlutterEngineConnectionRegistry$FlutterEngineActivityPluginBinding.onActivityResult(FlutterEngineConnectionRegistry.java:739) E/AndroidRuntime(32258): at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.onActivityResult(FlutterEngineConnectionRegistry.java:426) E/AndroidRuntime(32258): at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onActivityResult(FlutterActivityAndFragmentDelegate.java:677) E/AndroidRuntime(32258): at io.flutter.embedding.android.FlutterActivity.onActivityResult(FlutterActivity.java:624) E/AndroidRuntime(32258): at android.app.Activity.dispatchActivityResult(Activity.java:8304) E/AndroidRuntime(32258): at android.app.ActivityThread.deliverResults(ActivityThread.java:5136) E/AndroidRuntime(32258): ... 11 more E/flutter (32258): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: 'package:flutter/src/material/scaffold.dart': Failed assertion: line 222 pos 12: 'context != null': is not true. E/flutter (32258): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) E/flutter (32258): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) E/flutter (32258): #2 ScaffoldMessenger.of (package:flutter/src/material/scaffold.dart:222:12) E/flutter (32258): #3 StoryViewModel.showInSnackBar (package:social_media/view_models/posts/story_view_model.dart:119:23) E/flutter (32258): #4 StoryViewModel.pickImage (package:social_media/view_models/posts/story_view_model.dart:90:7) E/flutter (32258): <asynchronous suspension> E/flutter (32258): #5 FabContainer.chooseUpload.<anonymous closure>.<anonymous closure> (package:social_media/components/fab_container.dart:80:19) E/flutter (32258): <asynchronous suspension> E/flutter (32258): I/Process (32258): Sending signal. PID: 32258 SIG: 9 Lost connection to device.

Update with null safety

When i updated the project to null safety iam getting error with cloud_firestore in null safety version can u solve problems ?

UI Improvement

I can contribute and improve the Overall UI of the App

processDebugManifest FAILED

Hi, I am getting this error. Can you help me?

> Task :geocoding_android:processDebugManifest FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':geocoding_android:processDebugManifest'.
> Error while evaluating property 'packageOverride' of task ':geocoding_android:processDebugManifest'
   > Failed to calculate the value of task ':geocoding_android:processDebugManifest' property 'packageOverride'.
      > Failed to query the value of property 'applicationId'.
         > Package Name not found in /Users/myuser.name/.pub-cache/hosted/pub.dev/geocoding_android-2.1.2/android/src/main/AndroidManifest.xml

I checked AnroidManifest.xml under SocialMedia-App/android/src/main/AndroidManifest.xml it seems like that: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.social_media_app"> but still i am getting error why?

Social media App Please Help me

Hi, I really like your app and want to load it. I do everything as you described in detail but I fail. If I give you Teamviewer would you log me in on the computer to look at the problem or send you the error here. Thank you very much for your cooperation. Or if you can give me your skype thanks.

sign up error

Hi there! I like your app really. I tried to use your source code. when I was sign up in emulator, I'm getting error like this.

image

I'm new for flutter and firebase. can you guide me to solve this error?

Firestore Problem

Hey
Iam getting error when i create my new account :
cloud_firestore/permission-denied - The caller does not have permission to execute the specified operation

gradle error

Hello, when I try to run the software, I encounter the following error:
`FAILURE: Build failed with an exception.

  • What went wrong:
    Could not open settings generic class cache for settings file 'F:\mahdi-barati-repo\Flutter\SocialMedia-App\android\settings.gradle' (C:\Users\WEBFLAX-THREE.gradle\caches\7.1\scripts\el377zxjtiubuolyxhieyiuv6).

BUG! exception in phase 'semantic analysis' in source unit 'BuildScript' Unsupported class file major version 61

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 4m 36s
Running Gradle task 'assembleDebug'... 277.3s

β”Œβ”€ Flutter Fix ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
β”‚ [!] Your project's Gradle version is incompatible with the Java version that Flutter is using for Gradle. β”‚
β”‚ β”‚
β”‚ To fix this issue, first, check the Java version used by Flutter by running flutter doctor --verbose. β”‚
β”‚ β”‚
β”‚ Then, update the Gradle version specified in F:\mahdi-barati-repo\Flutter\SocialMedia-App\android\gradle\wrapper\gradle-wrapper.properties to be compatible with that Java version. See the link below for more information on β”‚
β”‚ compatible Java/Gradle versions: β”‚
β”‚ https://docs.gradle.org/current/userguide/compatibility.html#java β”‚
β”‚ β”‚
β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
`
Please give me the appropriate version of Java and Flutter and Dart that are suitable for this project.

Iam not able to get it in my new firebase

I deleted your google-services.json and replaced with mine in android/app/ . I turned on Firestore , database , email verification . But still iam not able to get details in my firebase and it is going to your firebase account. Please let me know where shall I make still more changes.
Thank you

getImage

PickedFile? pickedFile = await picker.getImage(
source: camera ? ImageSource.camera : ImageSource.gallery,
);
When I change getImage to pickImage the app crashes.

Saving User To Firestore

Hi there, just wondering when the saveUserToFirestore function in the authentication service file is used? I can sign in fine however it does not create a new user on my database. Thanks!

Issue with first message in chat

Hi. First of all I'd like to say it's an impressive work. I'm new to flutter and I took your project as an example to learn.

I found an issue when I send a message to a user. The first messages are nor received but after that it works fine. Have you noticed this behavior or do you think it's my fault?

Thanks a lot

Plugins and lib versions

Hello.

I'm trying to run the application using the most recent flutter and android SDK version but I'm getting some version errors.

image

Which versions are you using to run this application? I'm willing to update and provide a PR but I'm new to Flutter, going to need some info about it.

I tried to update the minSdkVersion but without success.

Also, saw you are using geolocation 9+ and this dependency requires android SDK 33

Thanks.

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.