A modern social media automation platform built with NestJS, React Router, and Supabase. Post For Me allows users to schedule and automate posts across multiple social media platforms including Twitter/X, Bluesky, and more.
This is a monorepo containing:
- API (
api/
) - NestJS backend with REST API and job scheduling - Dashboard App (
dashboard/
) - React Router v7 frontend for user management - Marketing Site (
marketing/
) - React Router v7 frontend for marketing the service - Database - Supabase (PostgreSQL) for data persistence
- Framework: NestJS with TypeScript
- Database: Supabase (PostgreSQL)
- Job Processing: Trigger.dev
- Authentication: Unkey API
- Framework: React Router with TypeScript
- Styling: Tailwind CSS v4
- UI Components: Shadcn UI
Icons is a collection of icons used across the project. These icons come from a paid service that gives us access to the SVG's for commercial use.
The local package is a wrapper around the icons to make them easier to use as React components in the projects.
// from your components
import { MyIcon } from "icons";
...
- Bun v1.1.29 or later
- Node.js 18+ (for compatibility)
- Clone the repository
git clone https://github.com/DayMoonDevelopment/post-for-me.git
cd post-for-me
- Install dependencies
bun install
-
Environment Configuration
Set up environment variables for both API and Dashboard:
- Copy
.env.example
files in each app directory - Configure Supabase, social media API keys, and other required services
- Copy
-
Database Setup
Initialize your Supabase database with the required schema (migrations should be provided in the project).
bun supabase start
bun supabase db reset
bun run dev
This runs both the API and Dashboard concurrently.
API only (port 3000)
bun run dev:api
Dashboard only (port 5173)
bun run dev:dashboard
bun run dev
- Start both API and Dashboardbun run lint
- Lint all packagesbun run typecheck
- Type check all packages
bun run build
- Build for productionbun run start
- Start production serverbun run start:dev
- Start development server with watch modebun run test
- Run testsbun run lint
- Lint API code
bun run build
- Build for productionbun run dev
- Start development serverbun run start
- Start production serverbun run test
- Run testsbun run lint
- Lint dashboard code
bun run build
- Build for productionbun run dev
- Start development serverbun run start
- Start production serverbun run test
- Run testsbun run lint
- Lint dashboard code
post-for-me/
├── api/
│ ├── src/ # Source code
│ ├── test/ # Tests
│ └── dist/ # Built files
├── dashboard/
│ ├── app/ # App routes and components
│ ├── public/ # Static assets
│ └── build/ # Built files
├── marketing/
│ ├── app/ # App routes and components
│ ├── public/ # Static assets
│ └── build/ # Built files
├── icons/
│ ├── icons/ # Icon components
│ └── index.ts # Root-level export
├── package.json # Root package configuration
└── README.md
```
## 📄 License
This project is owned fully by Day Moon Development LLC - see the package.json files for details.