A simple social media project app made with Flutter wrapped in simple and beautiful design.
-
Flutter as front end
-
Node.js as backend server
-
PostgreSQL as database
-
Firebase as authentication medium and cloud storage for videos
-
Appwrite as cloud storage for images
-
Custom class as primary state management
-
Create a Firebase project and then create a Firebase app
-
Initialize authentication by enabling
email and password
authentication -
Initialize cloud storage by setting up Firebase Storage and allowing permissions
-
Download the
google-services.json
file from the app and move it to theandroid/app/
directory -
Add the package
flutterfire_cli
to your project then runflutterfire configure
-
Select your project and
android
option thenfirebase_options.dart
file will be created. Move it to thelib/firebase
folder.
You need to have basic knowledge of PostgreSQL and have PostgreSQL installed. It's also recommended to have pgAdmin 4 installed as well. Whole code is in here. Each file contains code for each database, from creating schemas, tables to functions.
You can download it here. Run npm run build
if you modified any Typescript code, and run npm start
to start or restart the server.
Once you have set up all of these the app is ready to use.
-
Skeleton loading
-
Sign up and login
-
Email verification during sign up
-
Uploading posts and comments
-
Uploading images and videos
-
Tagging other users and hashtags
-
Deleting posts and comments
-
Editing posts and comments
-
Liking posts and comments
-
Bookmarking posts and comments
-
Viewing comments of a post or a comment
-
Search posts and users
-
Lock account / set as private
-
Mute other users
-
Block other users
-
Notifications
-
Private message
-
Group message
-
Edit group profile
-
Add other users to group
-
Auto login
-
Database still cannot handle 1 million rows yet
-
Adding more options of files to upload such as audio and PDF
-
Adding push notifications
-
Fix the nested scrolling bug in the profile page
-
Make improvements to cloud storage management