Skip to content

Commit 59b3154

Browse files
committed
first commit
0 parents  commit 59b3154

File tree

202 files changed

+10379
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

202 files changed

+10379
-0
lines changed

.gitignore

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Miscellaneous
2+
*.class
3+
*.log
4+
*.pyc
5+
*.swp
6+
.DS_Store
7+
.atom/
8+
.buildlog/
9+
.history
10+
.svn/
11+
12+
# IntelliJ related
13+
*.iml
14+
*.ipr
15+
*.iws
16+
.idea/
17+
18+
# The .vscode folder contains launch configuration and tasks you configure in
19+
# VS Code which you may wish to be included in version control, so this line
20+
# is commented out by default.
21+
#.vscode/
22+
23+
# Flutter/Dart/Pub related
24+
**/doc/api/
25+
**/ios/Flutter/.last_build_id
26+
.dart_tool/
27+
.flutter-plugins
28+
.flutter-plugins-dependencies
29+
.packages
30+
.pub-cache/
31+
.pub/
32+
/build/
33+
lib/api/url.dart
34+
android/app/google-services.json
35+
# Web related
36+
lib/generated_plugin_registrant.dart
37+
38+
# Symbolication related
39+
app.*.symbols
40+
41+
# Obfuscation related
42+
app.*.map.json
43+
44+
# Android Studio will place build artifacts here
45+
/android/app/debug
46+
/android/app/profile
47+
/android/app/release

.metadata

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# This file tracks properties of this Flutter project.
2+
# Used by Flutter tool to assess capabilities and perform upgrades etc.
3+
#
4+
# This file should be version controlled and should not be manually edited.
5+
6+
version:
7+
revision: 18116933e77adc82f80866c928266a5b4f1ed645
8+
channel: stable
9+
10+
project_type: app

README.md

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
# **Photoarc**
2+
3+
A Fully functional social media app written in flutter and dart using node.js and Postgres SQL as backend.
4+
5+
## **Demo**
6+
7+
<center>
8+
<img src="screenshots/Screenshot_20211119-194607.png" alt="logo" width="30%"/>
9+
10+
<h3 style="color:green;">Download the release APK</h3>
11+
</center>
12+
13+
## **Features**
14+
15+
- custom photo feed based on following users'.
16+
- Users can post an image of any height.
17+
- awesome animation between navigation of two pages.
18+
- shimmer loading effect while data is syncing.
19+
- Search page
20+
- With trending posts grid view.
21+
- Profile page
22+
- follows/unfollow the user
23+
- edit profile.
24+
- change user's avatar image
25+
- generate user profile links and send that to the various platforms. (with firebase dynamic links)
26+
- Notification Page
27+
- shows all comments and follows user notifications.
28+
- delete the notification by right swipe.
29+
- Post
30+
- like the post.
31+
- comment on posts and see all comments.
32+
- delete comments. (only post owner and commenter can)
33+
- shows the list of who liked the post.
34+
- share post links to the various platforms.
35+
- copy URL.
36+
- open post image in the browser.
37+
- user can delete their own post.
38+
- create post.
39+
- crop image
40+
- upload from the gallery.
41+
- Users can add captions to post.
42+
43+
<br/>
44+
45+
## **Image Gallery**
46+
47+
<hr/>
48+
49+
### **feed screen**
50+
51+
<br>
52+
53+
<center>
54+
<img src="screenshots/20211122_171350.gif" alt="Gallery Image" width="30%" />
55+
<img src="screenshots/Screenshot_20211122-170954.jpg" alt="Gallery Image" width="30%" />
56+
<img src="screenshots/Screenshot_20211122-173452.jpg" alt="Gallery Image" width="30%" />
57+
</center>
58+
<hr/>
59+
60+
### **Search page**
61+
62+
<br>
63+
64+
<center>
65+
<img src="screenshots/20211122_172256.gif" alt="Gallery Image" width="30%" />
66+
<img src="screenshots/Screenshot_20211122-173514.jpg" alt="Gallery Image" width="30%" />
67+
<img src="screenshots/Screenshot_20211122-172157.jpg" alt="Gallery Image" width="30%" />
68+
</center>
69+
<hr/>
70+
71+
### **Activity page**
72+
73+
<br>
74+
75+
<center>
76+
<img src="screenshots/20211122_172832.gif" alt="Gallery Image" width="30%" />
77+
<img src="screenshots/Screenshot_20211122-172659.jpg" alt="Gallery Image" width="30%" />
78+
<img src="screenshots/Screenshot_20211122-173528.jpg" alt="Gallery Image" width="30%" />
79+
</center>
80+
<hr/>
81+
82+
### **Profile page**
83+
84+
<br>
85+
86+
<center>
87+
<img src="screenshots/20211122_173115.gif" alt="Gallery Image" width="30%" />
88+
<img src="screenshots/Screenshot_20211122-173536.jpg" alt="Gallery Image" width="30%" />
89+
<img src="screenshots/Screenshot_20211122-173550.jpg" alt="Gallery Image" width="30%" />
90+
</center>
91+
<hr/>
92+
93+
### **Other pages**
94+
95+
<br>
96+
97+
<center>
98+
<img src="screenshots/Screenshot_20211122-175449.jpg" alt="Gallery Image" width="30%" />
99+
<img src="screenshots/Screenshot_20211122-175456.jpg" alt="Gallery Image" width="30%" />
100+
<img src="screenshots/Screenshot_20211122-175505.jpg" alt="Gallery Image" width="30%" />
101+
<img src="screenshots\Screenshot_20211122-171645_Android System.jpg" alt="Gallery Image" width="30%" />
102+
<img src="screenshots/Screenshot_20211122-175554.jpg" alt="Gallery Image" width="30%" />
103+
<img src="screenshots/Screenshot_20211122-175517.jpg" alt="Gallery Image" width="30%" />
104+
</center>
105+
<hr/>
106+
107+
## **Dependencies**
108+
109+
- [cupertino_icons](https://pub.dev/packages/cupertino_icons)
110+
- [firebase_auth](https://pub.dev/packages/firebase_auth)
111+
- [firebase_core](https://pub.dev/packages/firebase_core)
112+
- [http](https://pub.dev/packages/http)
113+
- [flutter_bloc](https://pub.dev/packages/flutter_bloc)
114+
- [equatable](https://pub.dev/packages/equatable)
115+
- [shared_preferences](https://pub.dev/packages/shared_preferences)
116+
- [logger](https://pub.dev/packages/logger)
117+
- [image_cropper](https://pub.dev/packages/image_cropper)
118+
- [image_picker](https://pub.dev/packages/image_picker)
119+
- [uuid](https://pub.dev/packages/uuid)
120+
- [scrollable_positioned_list](https://pub.dev/packages/scrollable_positioned_list)
121+
- [cached_network_image](https://pub.dev/packages/cached_network_image)
122+
- [firebase_dynamic_links](https://pub.dev/packages/firebase_dynamic_links)
123+
- [shimmer](https://pub.dev/packages/shimmer)
124+
- [share](https://pub.dev/packages/share)
125+
- [url_launcher](https://pub.dev/packages/url_launcher)
126+
- [flutter_phoenix](https://pub.dev/packages/flutter_phoenix)
127+
- [font_awesome_flutter](https://pub.dev/packages/font_awesome_flutter)
128+
129+
## **How to run?**
130+
131+
To clone and run this application, you'll need [Git](https://git-scm.com/downloads) and [Flutter](https://flutter.dev/docs/get-started/install) installed on your computer. From your command line:
132+
133+
### Clone this repository
134+
135+
```bash
136+
$ git clone https://github.com/Appii00/Flutter-Bloc-MovieDB-App.git
137+
```
138+
139+
### Go into the repository
140+
141+
```bash
142+
$ cd Flutter-Bloc-MovieDB-App
143+
```
144+
145+
### Install dependencies
146+
147+
```bash
148+
$ flutter packages get
149+
```
150+
151+
### Run the app
152+
153+
```bash
154+
$ flutter run
155+
```
156+
157+
## **What's Next?**
158+
159+
This features will be added in next version of the app.
160+
161+
- add muliple images in post.
162+
- add reply to and like to comments.
163+
- add notifications from api.
164+
- add activity notifications sorting stay new on top.
165+
- add status feature.

analysis_options.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# This file configures the analyzer, which statically analyzes Dart code to
2+
# check for errors, warnings, and lints.
3+
#
4+
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
5+
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
6+
# invoked from the command line by running `flutter analyze`.
7+
8+
# The following line activates a set of recommended lints for Flutter apps,
9+
# packages, and plugins designed to encourage good coding practices.
10+
include: package:flutter_lints/flutter.yaml
11+
12+
linter:
13+
# The lint rules applied to this project can be customized in the
14+
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
15+
# included above or to enable additional rules. A list of all available lints
16+
# and their documentation is published at
17+
# https://dart-lang.github.io/linter/lints/index.html.
18+
#
19+
# Instead of disabling a lint rule for the entire project in the
20+
# section below, it can also be suppressed for a single line of code
21+
# or a specific dart file by using the `// ignore: name_of_lint` and
22+
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
23+
# producing the lint.
24+
rules:
25+
# avoid_print: false # Uncomment to disable the `avoid_print` rule
26+
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
27+
28+
# Additional information about this file can be found at
29+
# https://dart.dev/guides/language/analysis-options

android/.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
gradle-wrapper.jar
2+
/.gradle
3+
/captures/
4+
/gradlew
5+
/gradlew.bat
6+
/local.properties
7+
GeneratedPluginRegistrant.java
8+
9+
# Remember to never publicly share your keystore.
10+
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11+
key.properties
12+
**/*.keystore
13+
**/*.jks

android/app/build.gradle

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
def localProperties = new Properties()
2+
def localPropertiesFile = rootProject.file('local.properties')
3+
if (localPropertiesFile.exists()) {
4+
localPropertiesFile.withReader('UTF-8') { reader ->
5+
localProperties.load(reader)
6+
}
7+
}
8+
9+
def flutterRoot = localProperties.getProperty('flutter.sdk')
10+
if (flutterRoot == null) {
11+
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12+
}
13+
14+
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15+
if (flutterVersionCode == null) {
16+
flutterVersionCode = '1'
17+
}
18+
19+
def flutterVersionName = localProperties.getProperty('flutter.versionName')
20+
if (flutterVersionName == null) {
21+
flutterVersionName = '1.0'
22+
}
23+
24+
apply plugin: 'com.android.application'
25+
apply plugin: 'com.google.gms.google-services'
26+
apply plugin: 'kotlin-android'
27+
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
28+
29+
android {
30+
compileSdkVersion 30
31+
32+
compileOptions {
33+
sourceCompatibility JavaVersion.VERSION_1_8
34+
targetCompatibility JavaVersion.VERSION_1_8
35+
}
36+
37+
kotlinOptions {
38+
jvmTarget = '1.8'
39+
}
40+
41+
sourceSets {
42+
main.java.srcDirs += 'src/main/kotlin'
43+
}
44+
45+
defaultConfig {
46+
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
47+
applicationId "com.example.social_media"
48+
minSdkVersion 20
49+
targetSdkVersion 30
50+
versionCode flutterVersionCode.toInteger()
51+
versionName flutterVersionName
52+
multiDexEnabled true
53+
}
54+
55+
buildTypes {
56+
release {
57+
// TODO: Add your own signing config for the release build.
58+
// Signing with the debug keys for now, so `flutter run --release` works.
59+
signingConfig signingConfigs.debug
60+
}
61+
}
62+
}
63+
64+
flutter {
65+
source '../..'
66+
}
67+
68+
dependencies {
69+
implementation platform('com.google.firebase:firebase-bom:29.0.0')
70+
implementation 'com.google.firebase:firebase-analytics'
71+
implementation 'com.google.firebase:firebase-auth'
72+
implementation 'com.google.firebase:firebase-firestore'
73+
implementation 'com.google.firebase:firebase-storage'
74+
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
75+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2+
package="com.example.social_media">
3+
<!-- Flutter needs it to communicate with the running application
4+
to allow setting breakpoints, to provide hot reload, etc.
5+
-->
6+
<uses-permission android:name="android.permission.INTERNET"/>
7+
</manifest>

0 commit comments

Comments
 (0)