Skip to content

shaishab316/infloww

Repository files navigation

Banner

Influencer Campaign Management Platform

Node.js TypeScript MongoDB Docker Twilio

From campaign creation to influencer payout — fully tracked.


Overview

Infloww is a production-grade influencer campaign management platform built for marketing teams. It supports a multi-role workflow across Managers, Influencers, and Sub-Admins — handling campaign assignment, work submission with proof tracking, deadline enforcement with automated alerts, and manual payment management.


Architecture

src/
├── modules/<feature>/
│   ├── <feature>.validation.ts     # Zod input schemas
│   ├── <feature>.interface.ts      # TypeScript types
│   ├── <feature>.service.ts        # Business logic & DB queries
│   ├── <feature>.controller.ts     # catchAsync request handlers
│   └── <feature>.route.ts          # Express router + middleware chain
│
├── middlewares/
│   ├── auth.middleware.ts           # JWT verification + RBAC
│   └── purifyRequest.ts            # Input sanitization
│
└── utils/
    ├── catchAsync.ts
    ├── ServerError.ts
    └── twilio.client.ts

Every module follows a strict 5-layer pattern: validation → interface → service → controller → route


Features

Core

  • 👥 Multi-role system — Manager, Influencer, Sub-Admin with scoped permissions
  • 📣 Campaign creation and assignment workflow
  • 📎 Proof submission — influencers upload screenshots and links as work evidence
  • ⏰ Deadline tracking with automatic late alerts via Twilio SMS
  • 💰 Manual payment management with submission and performance tracking
  • 📊 Campaign performance overview per influencer and per campaign

Technical

  • 🔒 JWT access + refresh token rotation
  • 🛡️ Zod validation on all inputs
  • 🐳 Fully containerized with Docker Compose
  • 📱 Twilio SMS notifications for deadline breaches and alerts

Tech Stack

Layer Technology
Runtime Node.js 20+, TypeScript (strict)
Framework Express.js
Database MongoDB + Mongoose
Auth JWT (access + refresh rotation)
Notifications Twilio SMS
Validation Zod
Containerization Docker + Docker Compose

API Endpoints

Auth

POST   /api/v1/auth/register
POST   /api/v1/auth/login
POST   /api/v1/auth/refresh
POST   /api/v1/auth/logout
POST   /api/v1/auth/forgot-password
POST   /api/v1/auth/reset-password

Campaigns

GET    /api/v1/campaigns
GET    /api/v1/campaigns/:id
POST   /api/v1/campaigns
PATCH  /api/v1/campaigns/:id
DELETE /api/v1/campaigns/:id
POST   /api/v1/campaigns/:id/assign

Submissions

POST   /api/v1/submissions                  # Influencer submits proof
GET    /api/v1/submissions/my               # Influencer's own submissions
GET    /api/v1/submissions/:campaignId      # Manager views campaign submissions
PATCH  /api/v1/submissions/:id/approve      # Manager approves submission
PATCH  /api/v1/submissions/:id/reject       # Manager rejects submission

Payments

POST   /api/v1/payments
GET    /api/v1/payments/:influencerId
PATCH  /api/v1/payments/:id/mark-paid

Quick Start

# Clone the repository
git clone https://github.com/shaishab316/infloww.git
cd infloww

# Install dependencies
npm install

# Configure environment
npm run seed-env

# Start development server
npm run dev

Docker

docker-compose up --build

Author

Shaishab Chandra Shil Self-taught Backend Developer · Dhaka, Bangladesh

GitHub LinkedIn


Built with persistence, raw documentation, and zero tutorials. 🔥

About

Infloww is a production-grade influencer campaign management platform built for marketing teams.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Generated from shaishab316/express-it