Skip to content

Masterjx9/socialmediascheduler

Repository files navigation

Social Media Scheduler

The Social Media Scheduler is an application that allows users to schedule and manage their social media posts across various platforms. It integrates with the following APIs:

Watch the video

  • Meta/Facebook API
  • YouTube API
  • TikTok API
  • Instagram API
  • Twitter API

Diagram

Diagram

Features

  • Schedule posts: Users can schedule posts to be published on their social media accounts at a specific date and time.
  • Platform integration: The application seamlessly integrates with Meta/Facebook, YouTube, TikTok, Instagram, and Twitter APIs to fetch user data and publish posts.
  • Database backend: The application uses SQLite as the database backend to store user information, scheduled posts, and API credentials securely.

Mobile Version (React Native) Installation

  1. Clone the repository:

    git clone https://github.com/Masterjx9/socialmediascheduler.git
    cd Mobile_version
  2. Install the required dependencies:

    npm install
  3. Run the application locally:

    npx react-native run-android --verbose
  4. Build the application for production:

    ./gradlew assembleRelease -x lint 
    ./gradlew bundleRelease -x lint 

The debug APK can be found in Mobile_version/android/app/build/outputs/apk/debug/app-debug.apk. The release APK can be found in Mobile_version/android/app/build/outputs/apk/release/app-release.apk.

Desktop Version (Python) Installation

  1. Clone the repository:
   git clone https://github.com/Masterjx9/socialmediascheduler.git
   cd Repo_version
  1. Install the required dependencies:
  pip install -r requirements.txt
  1. Setup Ngrok (WIP):

    • Ngrok is used for instagram API as it requires a public URL to be set up. This repo comes with ngrok for windows, mac, and linux.
    • For now we recommend getting a free API key from ngrok and setting it up manually. Hopefully we will have a better solution in the future.
    • You can get a free API key from here - https://dashboard.ngrok.com/signup
    • Then go to the ngrok folder and run the following command to set up ngrok:
    .\ngrok config add-authtoken <YOUR_AUTH>

    or

    ngrok config add-authtoken <YOUR_AUTH>
  2. Set up API credentials:

  3. Configure the application:

    • Create a .env file in the root directory of the project.

    • Add the following environment variables to the .env file:

      • Or use the sample.env to get started
      CONFIG_PATH = config.yaml
      
  4. Run the management application:

  • From python:

    python manage.py
  • From the executable:

    • First create the executable using the following command:
      # Create the executable
      pyinstaller --noconfirm --onedir --windowed --icon "logo.ico" --paths "/gui"
      
      # Copy .env file
      cp .env output/manage/.env
      
      # Copy config.yaml file
      cp config.yaml output/manage/config.yaml
      
      # Copy database_default.sqlite3 file
      cp database_default.sqlite3 output/manage/database_default.sqlite3
    • Then run the executable from the output folder

Usage

  1. Sign in to your social media accounts within the application.
  2. Create a new post and specify the date and time for it to be published.
  3. The application will automatically publish the post on the scheduled date and time.

Contributing

Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

About

Automates daily posts to Instagram, twitter (X), facebook, tiktok, youtube (WIP)

Resources

Stars

Watchers

Forks

Packages

No packages published