Native Ads Management Platform - Unified dashboard for managing campaigns across multiple traffic sources with automated optimization.
- Multi-Source Support: Revcontent, Taboola, Outbrain, MGID
- Unified Dashboard: View all campaigns in one place
- Automated Optimization: Hourly bid adjustments and widget blacklisting
- Widget Blacklist: Cross-source publisher blocking
- Custom Rules: Template-based and custom optimization rules
- Frontend: React + Vite + TailwindCSS + shadcn/ui + Framer Motion
- Backend: Hono + Drizzle ORM
- Database: PostgreSQL (Supabase)
- Jobs: node-cron + pg-boss
- Deploy: Docker + GitHub Actions
- Node.js 20+
- PostgreSQL database
- npm
# Install dependencies
npm install
# Build shared package
npm run build --workspace=packages/shared
# Set up environment
cp .env.example .env
# Edit .env with your database and API credentials# Start all services
npm run dev
# Or start individually
npm run dev --workspace=apps/api
npm run dev --workspace=apps/web# Run all tests
npm run test
# Run tests with coverage
npm run test:coverage --workspace=apps/api# Build all
npm run build
# Build Docker images
docker compose -f docker/docker-compose.yml build# Deploy with Docker Compose
docker compose -f docker/docker-compose.yml up -dnativehub-3/
├── apps/
│ ├── api/ # Hono backend
│ └── web/ # React frontend
├── packages/
│ └── shared/ # Shared types and schemas
├── docker/ # Docker configuration
└── .github/
└── workflows/ # CI/CD pipelines
See .env.example for required configuration.
GET /api/v1/source-accounts- List connected accountsPOST /api/v1/source-accounts- Connect new accountGET /api/v1/campaigns- List all campaignsGET /api/v1/optimizer/rules- List optimization rulesPOST /api/v1/optimizer/run- Trigger manual optimization
Private - All rights reserved