Skip to content

Scalable social media backend API built with Node.js, Express, and TypeScript, featuring Prisma ORM, PostgreSQL, Redis caching, and secure authentication

License

Notifications You must be signed in to change notification settings

MDF05/be-circle

Circle Backend Documentation

Welcome to the Circle Backend repository documentation. This monolithic application serves as the core API for the Circle social platform, built with Node.js, Express, and TypeScript.

📋 Table of Contents

This README serves as the central hub for all documentation. Please refer to the specific documents below for detailed information.

📚 Core Documentation

🤝 contribution & Standards

  • Style Guide: Code style, naming conventions, and linting rules.
  • Contributing: Workflow for submitting pull requests and reporting issues.
  • Security: Security policy and vulnerability reporting.
  • Code of Conduct: Community standards and expectations.

📢 Project Information

  • Changelog: History of changes and releases.
  • Roadmap: Future plans and upcoming features.
  • Disclaimer: Liability and warranty information.
  • License: Legal usage terms.

🚀 Quick Start

Prerequisites

  • Node.js: v18+ (Recommended)
  • PostgreSQL: v14+
  • Redis: v6+ (Optional for local dev, required for prod caching)
  • npm or yarn

Installation

  1. Clone the repository

    git clone https://github.com/MDF05/circle-backend.git
    cd circle-backend
  2. Install dependencies

    npm install
  3. Configure Environment Copy .env.example to .env and fill in the required values.

    cp .env.example .env

    See ENVIRONMENT.md for details.

  4. Database Migration Run Prisma migrations to set up your database.

    npm run migrate:dev

Running the Server

  • Development Mode (with hot reload)

    npm run dev

    Server usually starts at http://localhost:3000.

  • Production Build

    npm run build
    npm run prod

🛠️ Tech Stack

  • Runtime: Node.js
  • Framework: Express.js
  • Language: TypeScript
  • Database: PostgreSQL
  • ORM: Prisma
  • Caching: Redis
  • File Storage: Cloudinary (via cloudinary SDK)
  • Validation: Zod
  • Documentation: Swagger UI Express

🔐 API Access

The API is protected using JWT (JSON Web Tokens). Most endpoints require a valid Bearer token in the Authorization header.

Authorization: Bearer <your_token>

See API_DOCUMENTATION.md for endpoint details.

�️ Security

We take security seriously. Please review our Security Policy for reporting vulnerabilities.

� License

This project is licensed under the ISC License. See the LICENSE file for details.

👤 Maintainer

Maintained by the Circle Development Team.

About

Scalable social media backend API built with Node.js, Express, and TypeScript, featuring Prisma ORM, PostgreSQL, Redis caching, and secure authentication

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published