Skip to content

MohammadSheakh/Suplify_backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

441 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Suplify Backend

A robust, scalable, and modular backend system built with Node.js, Express, and TypeScript. Suplify is designed for high-performance applications requiring real-time communication, complex background task management, payment integration.

Architecture Flow Socket Redis Architecture High Level Design 01 High Level Design 02

🚀 Key Features

  • Modular Architecture: Built with a focus on maintainability, utilizing inheritance and generic programming patterns for services and controllers.

  • Real-time Communication: Integrated Socket.io with Redis adapter for scalable, real-time messaging and notifications.

  • Background Processing: Robust job queuing using BullMQ and message streaming with Kafka.

  • Payment Infrastructure: Full Stripe integration for handling subscriptions, payments, and webhooks.

  • File Management: Secure file uploads with Multer and storage solutions (AWS S3/DigitalOcean Spaces).

  • Security & Authentication: JWT-based auth with Bcrypt, Helmet for security headers, and Zod for schema validation.

  • Observability: Centralized logging with Winston and log rotation.

  • Localization: i18n support using i18next.


🛠 Tech Stack

  • Core: Node.js, Express, TypeScript
  • Database: MongoDB (Mongoose)
  • Real-time/Cache: Redis, Socket.io
  • Background Jobs/Events: BullMQ, Kafka
  • Payments: Stripe
  • Cloud/Storage: AWS SDK (S3 / DigitalOcean)
  • Notifications: Firebase Admin
  • AI: OpenAI
  • Validation/Security: Zod, Bcrypt, Helmet, express-rate-limit

📥 Getting Started

Prerequisites

  • Node.js (v18+)
  • pnpm
  • Redis instance
  • MongoDB instance

Installation

  1. Clone the repository:

    git clone <repository-url>
  2. Install dependencies:

    pnpm install
  3. Setup environment variables: Copy .env.example to .env and configure the required variables (Database URL, Stripe keys, AWS credentials, etc.).

  4. Run the project:

    pnpm run dev

📝 Credits

This project was developed by Mohammad Sheakh. Based on the TypeScript Backend Boilerplate by rakib-islam.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors