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.
This README serves as the central hub for all documentation. Please refer to the specific documents below for detailed information.
- Architecture: System design, request flow, and technology choices.
- API Documentation: Endpoints, request/response formats, and Swagger UI.
- Database Schema: Entity-Relationship diagrams and Prisma models.
- Deployment: Build, deployment, and configuration guides.
- Environment Variables: Configuration reference for
.envfiles. - Testing: Testing strategy and execution instructions. (Development)
- 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.
- Changelog: History of changes and releases.
- Roadmap: Future plans and upcoming features.
- Disclaimer: Liability and warranty information.
- License: Legal usage terms.
- Node.js: v18+ (Recommended)
- PostgreSQL: v14+
- Redis: v6+ (Optional for local dev, required for prod caching)
- npm or yarn
-
Clone the repository
git clone https://github.com/MDF05/circle-backend.git cd circle-backend -
Install dependencies
npm install
-
Configure Environment Copy
.env.exampleto.envand fill in the required values.cp .env.example .env
See ENVIRONMENT.md for details.
-
Database Migration Run Prisma migrations to set up your database.
npm run migrate:dev
-
Development Mode (with hot reload)
npm run dev
Server usually starts at
http://localhost:3000. -
Production Build
npm run build npm run prod
- Runtime: Node.js
- Framework: Express.js
- Language: TypeScript
- Database: PostgreSQL
- ORM: Prisma
- Caching: Redis
- File Storage: Cloudinary (via
cloudinarySDK) - Validation: Zod
- Documentation: Swagger UI Express
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.
We take security seriously. Please review our Security Policy for reporting vulnerabilities.
This project is licensed under the ISC License. See the LICENSE file for details.
Maintained by the Circle Development Team.