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 passwordauthentication -
Initialize cloud storage by setting up Firebase Storage and allowing permissions
-
Download the
google-services.jsonfile from the app and move it to theandroid/app/directory -
Add the package
flutterfire_clito your project then runflutterfire configure -
Select your project and
androidoption thenfirebase_options.dartfile will be created. Move it to thelib/firebasefolder.
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

