“Join Malaysia National BBB Network”

Bbb Automated Growth System (a)· javascript

// ============================================= // 🚀 BBB AUTOMATED GROWTH SYSTEM (A) — PRODUCTION ARCHITECTURE // Node.js + PostgreSQL + Redis Event Engine // =============================================import express from “express”; import { Pool } from “pg”; import Redis from “ioredis”; import { v4 as uuidv4 } from “uuid”;const app = express(); app.use(express.json());// ============================================= // 🗄️ DATABASE (PostgreSQL) // ============================================= const db = new Pool({ connectionString: process.env.DATABASE_URL });// ============================================= // ⚡ EVENT QUEUE (Redis) // ============================================= const redis = new Redis(process.env.REDIS_URL);// ============================================= // 🧠 EVENT TYPES // ============================================= const EVENTS = { USER_REGISTERED: “USER_REGISTERED”, INVITE_ADDED: “INVITE_ADDED”, INVITE_MILESTONE: “INVITE_MILESTONE”, VIP_UPGRADED: “VIP_UPGRADED” };// ============================================= // 👤 REGISTER USER // ============================================= app.post(“/register”, async (req, res) => { const { name, phone, referral_code } = req.body;const userId = uuidv4(); const myCode = Math.random().toString(36).substring(2, 8);await db.query( `INSERT INTO users (id, name, phone, referral_code, referred_by) VALUES ($1, $2, $3, $4, $5)` , [userId, name, phone, myCode, referral_code || null]);// Trigger event await redis.lpush(“events”, JSON.stringify({ type: EVENTS.USER_REGISTERED, userId }));res.json({ userId, referral_code: myCode }); });// ============================================= // 🔗 TRACK INVITE // ============================================= app.post(“/invite”, async (req, res) => { const { referrerId, invitedUserId } = req.body;await db.query( `INSERT INTO referrals (id, referrer_id, referred_user_id) VALUES ($1, $2, $3)` , [uuidv4(), referrerId, invitedUserId]);const result = await db.query( `SELECT COUNT(*) FROM referrals WHERE referrer_id = $1` , [referrerId]);const count = parseInt(result.rows[0].count);// Trigger milestone await redis.lpush(“events”, JSON.stringify({ type: EVENTS.INVITE_ADDED, referrerId, count }));if (count === 5) { await redis.lpush(“events”, JSON.stringify({ type: EVENTS.INVITE_MILESTONE, referrerId
Translate »
滚动至顶部