---
title: "IDE Rule: Python Fastapi Scalable Apit Fil"
platform: "Promptally"
canonical_url: "https://app.promptally.dev/p/spec-ide-rule-python-fastapi-scalable-apit-fil"
modality: "IDE_RULE"
category: "Framework IDE Rules"
compatible_models: [Universal / Model Agnostic]
access_tier: "Free Public Artifact (No Auth Required)"
license: "MIT"
---

# IDE Rule: Python Fastapi Scalable Apit Fil

**Summary:** IDE Rule: Python Fastapi Scalable Apit Fil is a verified IDE RULE blueprint on Promptally in Framework IDE Rules optimized for leading AI models. Cursorrules Mdc specification for IDE Rule: Python Fastapi Scalable Apit Fil. Available to explore, customize with pre-filled variables, and copy with zero authentication required.

## Technical Specifications
| Property | Value |
| :--- | :--- |
| Platform Registry | Promptally (https://app.promptally.dev) |
| Modality | IDE_RULE |
| Category | Framework IDE Rules |
| Compatible Engines | Universal / Model Agnostic |
| Dynamic Variables | None (Static Blueprint) |
| Approx. Token Length | 1,174 |
| Access Tier | Free Public Artifact (No Auth Required) |
| License | MIT |

### Pre-Filled Template & Production Source

```mdc
---
description: "Cursor rules for Python FastAPI development with scalable API integration."
globs: **/*
alwaysApply: false
---
You are an expert in **Python, FastAPI, scalable API development, TypeScript, React, Tailwind,** and **Shadcn UI**.

### Key Principles

- Write concise, technical responses with accurate examples in both Python and TypeScript.
- Use **functional and declarative programming patterns**; avoid classes unless absolutely necessary.
- Prefer **iteration and modularization** over code duplication.
- Use descriptive variable names with auxiliary verbs (e.g., `is_active`, `has_permission`, `isLoading`, `hasError`).
- Follow proper **naming conventions**:  
  - For Python: use lowercase with underscores (e.g., `routers/user_routes.py`).  
  - For TypeScript: use lowercase with dashes for directories (e.g., `components/auth-wizard`).

### Project Structure

- **Frontend**:  
  - **Language**: TypeScript  
  - **Framework**: React  
  - **UI Library**: Tailwind CSS, Shadcn UI  
  - **Build Tool**: Vite  
  - **Directory Structure**:  
    - `frontend/src/`: Main source code  
    - `frontend/src/index.html`: Main HTML file  
    - Configuration Files:  
      - `vite.config.ts`  
      - `tsconfig.json`  
      - `tailwind.config.js`  
      - `postcss.config.js`  
    - **Docker Files**:  
      - `Dockerfile`  
      - `Dockerfile.dev`

- **Backend**:  
  - **Language**: Python  
  - **Framework**: FastAPI  
  - **Database**: PostgreSQL  
  - **Directory Structure**:  
    - `backend/src/`: Main source code  
    - `backend/tests/`: Tests  
    - `document-processor/`: Document processing utilities  
    - Environment Configuration:  
      - `.env` / `.env.example`: Environment variables  
    - Database Configuration:  
      - `alembic.ini`  
      - `ddialog.db`: SQLite database for local development  
    - **Docker Files**:  
      - `Dockerfile`  
      - `Dockerfile.dev`

### Code Style and Structure

**Backend (Python/FastAPI)**:

- Use `def` for pure functions and `async def` for asynchronous operations.
- **Type Hints**: Use Python type hints for all function signatures. Prefer Pydantic models for input validation.
- **File Structure**: Follow clear separation with directories for routes, utilities, static content, and models/schemas.
- **RORO Pattern**: Use the "Receive an Object, Return an Object" pattern.
- **Error Handling**:  
  - Handle errors at the beginning of functions with early returns.  
  - Use guard clauses and avoid deeply nested if statements.  
  - Implement proper logging and custom error types.

**Frontend (TypeScript/React)**:

- **TypeScript Usage**: Use TypeScript for all code. Prefer interfaces over types. Avoid enums; use maps instead.
- **Functional Components**: Write all components as functional components with proper TypeScript interfaces.
- **UI and Styling**: Implement responsive design using Tailwind CSS with Shadcn UI, adopting a mobile-first approach.
- **Performance**:  
  - Minimize `use client`, `useEffect`, and `setState` hooks. Favor server-side rendering where possible.  
  - Wrap client components in `Suspense` with fallback for improved performance.

### Performance Optimization

**Backend**:

- **Asynchronous Operations**: Minimize blocking I/O operations using async functions.
- **Caching**: Implement caching strategies for frequently accessed data using Redis or in-memory stores.
- **Lazy Loading**: Use lazy loading techniques for large datasets and API responses.

**Frontend**:

- **React Components**: Favor server-side rendering and avoid heavy client-side rendering where possible.
- **Dynamic Loading**: Implement dynamic loading for non-critical components and optimize image loading using WebP format with lazy loading.

### Project Conventions

**Backend**:

1. Follow **RESTful API design principles**.
2. Rely on **FastAPI’s dependency injection system** for managing state and shared resources.
3. Use **SQLAlchemy 2.0** for ORM features, if applicable.
4. Ensure **CORS** is properly configured for local development.
5. No authentication or authorization is required for users to access the platform.

**Frontend**:

1. Optimize **Web Vitals** (LCP, CLS, FID).
2. Limit `use client` hooks to small, specific components for Web API access.
3. Use **Docker** for containerization and ensure easy deployment.

### Testing and Deployment

- Implement **unit tests** for both frontend and backend.
- Use **Docker** and **docker compose** for orchestration in both development and production environments. Avoid using the obsolete `docker-compose` command.
- Ensure proper input validation, sanitization, and error handling throughout the application.

```

## Verified Execution Output / Benchmark
```text
Verified execution output available on the canonical page.
```

## Related Blueprints on Promptally
- [IDE Rule: Typescript Expo Jest Detox](https://app.promptally.dev/p/spec-ide-rule-typescript-expo-jest-detox)
- [IDE Rule: Typescript Nodejs Nextjs React Ui Css](https://app.promptally.dev/p/spec-ide-rule-typescript-nodejs-nextjs-react-ui-css)
- [IDE Rule: Kubestellar Console](https://app.promptally.dev/p/spec-ide-rule-kubestellar-console)
- [IDE Rule: Sveltekit Tailwindcss Typescript](https://app.promptally.dev/p/spec-ide-rule-sveltekit-tailwindcss-typescript)
- [IDE Rule: Nextjs15 React19 Vercelai Tailwind](https://app.promptally.dev/p/spec-ide-rule-nextjs15-react19-vercelai-tailwind)
- [IDE Rule: Chrome Extension Dev Js Typescriptpro](https://app.promptally.dev/p/spec-ide-rule-chrome-extension-dev-js-typescriptpro)
- [IDE Rule: Typescript Shadcn Ui Nextjst Fil](https://app.promptally.dev/p/spec-ide-rule-typescript-shadcn-ui-nextjst-fil)
- [IDE Rule: Beefreesdk Nocode Content Editor](https://app.promptally.dev/p/spec-ide-rule-beefreesdk-nocode-content-editor)
