Prerequisites

Required tools, database setup, and environment configuration for development.

Before you begin developing with SCRIPE, ensure your development machine has the required tools installed. This page covers exact version requirements, database support, step-by-step setup, and Docker quickstart.

Required Tools

ToolMinimum VersionRecommendedPurpose
.NET SDK10.010.0.x (latest)Backend compilation and runtime
Node.js20 LTS22 LTSFrontend build tooling
pnpm9.09.x (latest)Fast, disk-efficient package manager
Git2.402.45+Version control
Docker24.027.xContainerized development (optional)
Visual Studio / Rider2025LatestBackend IDE
VS Code1.90+LatestFrontend IDE

Database Support

SCRIPE supports three database providers out of the box: SQL Server, PostgreSQL, and Oracle. The provider is configured via Database.Provider in appsettings.json. Additionally, the Database.Mode setting controls database isolation: 'Single' puts all module tables in one shared database, while 'Multi' (default) allows each module to have its own database with separate connection strings.

DatabaseVersionConnection String KeyEF Provider
SQL Server2019+DefaultConnectionMicrosoft.EntityFrameworkCore.SqlServer
PostgreSQL14+DefaultConnectionNpgsql.EntityFrameworkCore.PostgreSQL
Oracle19c+DefaultConnectionOracle.EntityFrameworkCore
SQLite3.xDefaultConnectionMicrosoft.EntityFrameworkCore.Sqlite

Environment Setup

  1. Verify Tool Versions

    Ensure all required tools are installed and meet the minimum version requirements.
    Verify installationsShell
    dotnet --version
    node --version
    pnpm --version
  2. Clone the Repository

    Clone the monorepo with Git submodules for both backend and frontend.
    Clone with submodulesShell
    git clone https://github.com/SCRIPE-org/SCRIPE.git
    cd SCRIPE
    git submodule update --init --recursive
  3. Configure Connection String

    Update the database connection string to point to your local database instance.
    appsettings.Development.jsonJSON
    // appsettings.Development.json
    {
      "ConnectionStrings": {
        "DefaultConnection": "Server=localhost;Database=SCRIPE;Trusted_Connection=true;TrustServerCertificate=true;"
      },
      "DatabaseProvider": "SqlServer"
    }
  4. Backend Setup

    Restore NuGet packages and apply Entity Framework migrations to create the database schema.
    Backend setupShell
    cd SCRIPE-Backend
    dotnet restore
    dotnet ef database update -p src/Modules/Identity/Identity.Infrastructure -s src/Host/API
  5. Frontend Setup

    Install npm dependencies and create your local environment configuration file.
    Frontend setupShell
    cd SCRIPE-Frontend
    pnpm install
    cp .env.example .env.local

Docker Quickstart

docker-compose.yml (development)YAML
version: '3.8'
services:
  scripe-db:
    image: mcr.microsoft.com/mssql/server:2022-latest
    environment:
      ACCEPT_EULA: "Y"
      SA_PASSWORD: "YourStrong@Passw0rd"
    ports:
      - "1433:1433"
    volumes:
      - scripe-data:/var/opt/mssql

  scripe-redis:
    image: redis:7-alpine
    ports:
      - "6379:6379"

  scripe-api:
    build:
      context: ./SCRIPE-Backend
      dockerfile: Dockerfile
    environment:
      ConnectionStrings__DefaultConnection: "Server=scripe-db;Database=SCRIPE;User=sa;Password=YourStrong@Passw0rd;TrustServerCertificate=true"
      DatabaseProvider: "SqlServer"
    ports:
      - "5000:5000"
    depends_on:
      - scripe-db
      - scripe-redis

volumes:
  scripe-data: