Shortzz

A Perfect Social Media

Shortzz

A Perfect Social Media

Introducing Shortzz 2.0 — a powerful Social Media having new update that brings an unmatched set of features to elevate your experience. From multi-host live streaming and PK battles to immersive stories that combine images, videos, text, and music, Shortzz 2.0 is built for creators and communities alike. The reel and feed systems have been significantly improved, powered by a smarter algorithm with geo-location tagging. Language localization can now be managed directly from the admin panel, ensuring a more personalized experience for users around the world. New features like animated gifts, GIF comments, mentions, comment replies and likes, post sharing in chats, and a structured level system take interaction to the next level. And that’s just the beginning. Let’s explore these features one by one—check out the demo app now.

Version Details

dart: ">=3.7.2 < 4.0.0"
flutter: ">=3.29.0"
laravel/framework: "^10.48.25"

Developer Friendly

Specially built for developers to give them freedom while coding.

Clean Code

Less bulky and clean code with Getx flutter state management.

Laravel/Flutter

A great combination of techstacks, trending now in market.

Well Documented

Comes with nice documentation to help you get started fast and ASAP.

Continuous Updates

Comes with continuous updates to keep you safe from exploitable holes

Realtime Chat

Realtime chats between users regarding properties powered by Firestore.

Multiple Languages

The App Comes with multiple languages (More than 20). RTL supported.

Powerful Admin Panel

Admin dashboard to manage the data of the app and control them.

Powerful Features

Reels, Feed, Livestream, PK Battle, Gifts, Chat, Mentions, Hashtags, Stories, GIFs Etc...

Attractive UI/UX

Amazing UI/UX designed and developed by world class designers.

Active Support

Our support and developer team helps you solve any issues during installation.

Requirements

Extracting the project and settings up database

    • Extract the folder you have downloaded from codecanyon and open the folder

    • Open it and find the shortzz_database.sql file

    • Then open your cPanel provided by your web hosting provider.

    • Click the MySQLDatabase option under DATABASES section and create database for your app as shown in the images below.

    db_1
    • Add database name and click on create database.

    db_1
    • Now we will create a user to access the database

    • Like as shown in the image, enter username and password (save it to use later)

    • Click on create user and user will be created

    db_1
    • Now we have to add that created user to database. so scroll down and you can see like image below

    • Select the user from the list and select the database, and click on add button below

    db_1
    • After clicking on add button you will see like below.

    • There you can see ALL PRIVILEGES option, check the box before that

    • This will tick all the boxes shown below (Check the image below). Click on make changes and you are done.

    db_1
    • Now we have to import the database file. Search for phpMyAdmin and click on it.

    db_1
    • Then system will redirect you to the phpMyAdmin where you will be able to find the database we just created

    • Click on that database

    • Then find the import button on the Top bar and click on it

    db_1
    • It will open the page like below

    • Click on Choose File button and load the shortzz_database.sql file which will be there in the folder you have extracted.

    db_1
    • Click on import button at the bottom of the page.

    • Now database is ready to use.

Setting Up Database credentials to the backend project

    • Now come back to the project folder and then extract shortzz_backend.zip file

    • In that folder, find the .env file, open it with any text editor and make the changes as below

    • There in the APP_URL Replace the https://yourdomain.com/ to Your Domain

    • Make sure that your APP_URL ends with " / " as above.

    • Change Database Configuration, as shown in the example below (With the credentials you just created at cPanel)

    • APP_NAME should be without space.

    db_1

    DB_DATABASE = database_name

    DB_USERNAME = database_username

    DB_PASSWORD = database_password

    • And save the file by pressing Ctrl + s

Storage setting

  • The script supports 3 storage options. AWS S3, DigitalOcean Spaces, Local storage.

  • It is must that you decide your preferred storage option while setting up the project.

  • You can't change it later once the app is live. And if you still want to change it, your data will be lost.

  • Once you have selected storage option, you can set that in .env file.

  • Open .env file located at root folder of backend project.

  • And you will find the FILE STORAGE SETTINGS portion. (Check the image below)

  • Find the line FILE_STORAGE_LOCATION

  • Depending on your choice of storage location, it should look like below.

    • For AWS S3

      FILES_STORAGE_LOCATION=AWSS3

      For DigitalOcean Space

      FILES_STORAGE_LOCATION=DOSPACE

      For Local storage (Saves file on your server)

      FILES_STORAGE_LOCATION=PUBLIC

  • Now let's configure storage & get credentials. (You can follow any one from below options as per your choice)



    • AWS S3
        • Follow This guide and create AWS S3 Bucket and get API Keys and other credentials.

        • Once you collected all credentials, open .env file and paste those credentials. you will find something like below.

    • DigitalOcean
        • Follow This guide and create Digital Ocean Space Bucket and get API Keys and other credentials.

        • Once you collected all credentials, open .env file and paste those credentials. you will find something like below.

    • Local storage
        • To use local storage, You just have to define that in .env file as below. it doesn't require any additional configurations since the files will be stored at server disk.


  • Storage will work fine only if you have set the credentials correctly and made required configurations on their dashboards.

Create firebase project

    • Follow This guide and setup project at firebase and collect private key .json

    • Open private key .json file in your text editor.

    • Copy content of private key .json file from your text editor.

    • Find the googleCredentials.json file in your backend folder and paste the content in that file.

Enable google places API

Revenuecat Configuration

    • Revenuecat has been use to manage cross platform (Android - iOS) In-App Subscriptions & coin purchase with In-App Purchase.

    • It is required to configure Revenuecat for the verification of user In-App purchases transactions & process authentic transactions only.

    • Create an account or log in to RevenueCat here to get started.

    • RC1
    • Create new project at Revenuecat.

    • RC1
    • If you have created a new account, you will be automatically prompted to create your first project. Enter a Project name and click "CREATE PROJECT" button.

    • RC1
    • We will require 2 things from this Revenuecat project.

      1. RC_PROJECT_ID

      2. RC_KIT_API_KEY

    • Click on the project & it will open the page like below.

    • Click on general tab and copy the project ID

    • RC1
    • Now click on API Keys tab.

    • RC1
    • This will open a console to create Secret API keys, click on + New

    • RC1
    • This will open a form where we can create new secret API key.

    • Fill/Select the required details (Name, Version etc..) like step by step instructions in below image.

    • Lastly, click on Generate button.

    • RC1
    • And new Secret API key will be created and you can copy it.

    • RC1
    • Now we have collected both required things from Revenuecat project, We need to add them in .env file.

    • Check the image below, find the similar keys & add values there like image below.

    • RC1

Host backend project on server

    • Create a zip of the shortzz_backend folder

    • Upload that folder to your domain-targeted directory on your cPanel provided by your hosting provider. and extract the zip file.

    • Make sure that your targeted directory has the project files directly, and not wrapped in a folder

    • Cheers! Now try accessing your domain, the admin panel should be live there on your domain

Now your backend is live & these are the credentials

    • Admin Panel URL : http://yourdomain.com/

    • Admin Panel User Name : admin

    • Admin Panel Password : admin123

    • apiKey : retry123

Save these credentials somewhere, They are required while setting up the flutter project.

Now continue following the documentation.

Misc. server settings at cPanel

    • memory_limit should be 500M

    • upload_max_filesize : 500M

    • post_max_size : 500M

    • max_input_time : 60

    • RC1
      RC1

Configure cron jobs

    • We need to setup multiple cronjobs (listed below) for several tasks. (DAU, Delete expired stories, Delete old notifications etc..)

    • Enter your admin panel url below and it will create a list of cron job commands. which you can copy and configure with frequency at cPanel.



# Command Frequency
1 curl --request GET 'https://yourdomain.com/api/cron/reGeneratePlaceApiToken' Twice Per Hour(0,30 * * * *)
2 curl --request GET 'https://yourdomain.com/api/cron/deleteExpiredStories' Once Per Day(0 0 * * *)
3 curl --request GET 'https://yourdomain.com/api/cron/deleteOldNotifications' Once Per Day(0 0 * * *)
4 curl --request GET 'https://yourdomain.com/api/cron/countDailyActiveUsers' Once Per Day(0 0 * * *)

Add app languages

  • In this project, mobile app languages are managed from backend. you can add as many languages as you want. but initially we provide 18 languages with this project.

  • Follow the steps below to add those languages.

  • In your backend project, find the app_languages.zip file. copy that file to your desktop and extract it.

  • change_app_color
  • You will find language files (.csv) in it. (Check image below)

  • change_app_color
  • We will use this files while adding languages at Admin panel.

  • Open your Admin panel, Go to App Languages and click on Add Language button.

  • change_app_color
    change_app_color
  • Do this for all the languages. (Make sure to select right files) And your languages are added.

ZEGOCLOUD Configuration

    • Follow This guide to create ZEGOCLOUD project , enable Interactive Live Streaming & collect Zego Cloud App ID, Zego Cloud App Sign.

    • Open your admin panel, Go to Settings > livestream.

    • There you will find the fields to add collected credentials as shown in the image below.

    • Enter Zego Cloud App ID & Zego Cloud App Sign and click on save button

    • RC1

GIPHY Configuration

    • Follow This guide and collect GIPHY API key

    • Open your admin panel, Go to Settings > GIFs.

    • There you will find the fields to add collected credentials as shown in the image below.

    • Enter GIPHY API Key and click on save button

    • RC1

SightEngine Configuration

    • Follow This guide and collect API User, API Secret, Image Workflow ID & Video Workflow ID.

    • Open your admin panel, Go to settings > SightEngine.

    • There you will find the fields to add collected credentials as shown in the image below.

    • Enter API User, API Secret, Image Workflow ID & Video Workflow ID and click on save button

    • RC1

AdMob Configuration

Backend setup is completed

    • Now the backend has been configured successfully. and you can start following flutter project documentation.

Update info

    • To update your project (Whenever we update the project at Codecanyon), you have to Add/Update/Remove some files and fields in database (sometimes). Please check README.md file for the update information. (Mostly, can be found at root level directory of the project)

    • Please be careful while making an updates this way, It might result in errors sometimes.

    • If it comes any issues while making an update, you are absolutely responsible for that since updating existing project is not included in the support.

Want to talk with us?