Skip to content
This repository was archived by the owner on Mar 25, 2026. It is now read-only.
sorindecuPublic archive

About

autoposting

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

🚀 ATP — Automated Social Media Posting Platform A full-stack application for composing, scheduling, and publishing social media posts across multiple platforms (LinkedIn, X/Twitter, Facebook, Instagram) using native API adapters and an in-process job scheduler. What It Does

Multi-Platform Publishing: Compose once, post to LinkedIn, X, Facebook, and Instagram simultaneously Built-In Scheduler: Schedule posts for future times using APScheduler — no third-party services required Real-Time Status Tracking: Watch posts move through queued → publishing → posted states Platform Selection: Choose which platforms to target per post Timezone Handling: Local time input automatically converted to ISO format for scheduling

Tech Stack Frontend

Next.js (TypeScript) Port 3100

Backend

FastAPI (Python) APScheduler for background job scheduling Port 8100

Architecture

REST API between frontend and backend In-process scheduler for reliability and simplicity JSON storage for demo (swappable for PostgreSQL)

Project Structure /app → Next.js frontend /server → FastAPI backend + APScheduler background jobs /shared → Shared types between frontend and backend Setup Backend bashcd server python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt cp .env.example .env # Add platform tokens when ready uvicorn main:app --reload --port 8100 Frontend bashcd app npm install npm run dev # http://localhost:3100 How It Works

Compose a message in the web UI Select target platforms (LinkedIn, X, Facebook, Instagram) Choose a publish time (now or scheduled) The backend queues the job via APScheduler At the scheduled time, the publisher adapter fires and posts to each platform Status updates in real-time on the dashboard

Platform Integration Publisher adapters in server/publishers.py are designed as modular stubs ready for production API integration: PlatformAPI RequiredLinkedInUGC Posts / Shares APIX/Twitterv2 POST tweets endpointFacebookGraph API (Pages)InstagramGraph API (requires FB Business) Production Hardening Roadmap

Replace JSON storage with PostgreSQL (SQLModel or Prisma) Add OAuth flows and encrypted token storage Move APScheduler to separate worker process (systemd/Docker) Add retry logic with exponential backoff per platform Role-based authentication on frontend Comprehensive audit logging

Why I Built This Most social media scheduling tools (Buffer, Hootsuite) charge monthly fees and add unnecessary abstraction. I wanted a lightweight, self-hosted solution that posts directly through native platform APIs — giving full control over timing, content, and data. License MIT

About

autoposting

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages