Skip to main content

Prerequisites

Before getting started with PriceSignal development, ensure you have the following installed on your system:
1

Install .NET 8.0 SDK

Download and install the .NET 8.0 SDK for your operating system.Verify installation:
dotnet --version
# Should output 8.0.x or higher
2

Install Node.js and npm

Install Node.js 18.x or higher which includes npm.Verify installation:
node --version
npm --version
3

Install PostgreSQL

PriceSignal uses PostgreSQL for data persistence. Install PostgreSQL 14 or higher.Verify installation:
psql --version
4

Clone the Repository

Clone the PriceSignal repository to your local machine:
git clone <repository-url>
cd PriceSignal

Database Setup

1

Create Database

Create a new PostgreSQL database for PriceSignal:
psql -U postgres
CREATE DATABASE pricesignal;
\q
2

Configure Connection String

Update the connection string in src/PriceSignal/appsettings.json or use user secrets:
cd src/PriceSignal
dotnet user-secrets set "ConnectionStrings:DefaultConnection" "Host=localhost;Database=pricesignal;Username=postgres;Password=your_password"
3

Run Migrations

Apply database migrations:
dotnet ef database update --project src/Infrastructure
The database connection string can also be configured via environment variables or appsettings.Development.json for local development.

Install Dependencies

Backend Dependencies

Restore .NET packages:
cd src/PriceSignal
dotnet restore

Frontend Dependencies

Install npm packages:
cd src/react-app
npm install
Make sure you’re using a compatible Node.js version (18.x or higher). Using older versions may cause dependency installation issues.

Configuration

Application Settings

The appsettings.json file contains configuration for:
  • Logging: Configure log levels for different components
  • Binance: WebSocket and API endpoints for Binance integration
  • Alpaca: API endpoint for Alpaca Markets integration

Environment-Specific Settings

Create appsettings.Development.json for local overrides:
{
  "Logging": {
    "LogLevel": {
      "Default": "Debug",
      "Microsoft.AspNetCore": "Information"
    }
  },
  "ConnectionStrings": {
    "DefaultConnection": "Host=localhost;Database=pricesignal;Username=postgres;Password=your_password"
  }
}

Firebase Configuration

PriceSignal uses Firebase for authentication. You’ll need to set up a Firebase project and add your configuration.
Add your Firebase config in the React app (typically in environment variables or a config file).

Verify Installation

Verify everything is set up correctly:
cd src/PriceSignal
dotnet build
If both commands complete without errors, your development environment is ready!

Next Steps

Build docs developers (and LLMs) love