Skip to main content

Installation Guide

Follow this guide to install and set up FSS on your development machine.

Setup Overview

Quick Installation

# Clone the repository
Download the FSS package from the FSS dashboard.
cd fss

# Run the setup script
./setup.sh

Manual Installation

# Clone the repository
Download the FSS package from the FSS dashboard.
cd fss

Installation by Package

Frontend Only

# Navigate to frontend directory
cd projects/fss/frontend

# Install dependencies
npm install

# Copy environment file
cp .env.example .env.local

# Configure your environment variables
# Edit .env.local with your API URL

# Start development server
npm run dev

Backend Only

# Navigate to backend directory
cd projects/fss/backend

# Install dependencies
npm install

# Copy environment file
cp .env.example .env

# Configure your environment variables
# Edit .env with database and Redis URLs

# Run database migrations
npx prisma migrate dev

# Generate Prisma client
npx prisma generate

# Start development server
npm run start:dev

Full Stack

# Backend setup
cd projects/fss/backend
npm install
cp .env.example .env
npx prisma migrate dev
npx prisma generate
npm run start:dev

# Frontend setup (new terminal)
cd projects/fss/frontend
npm install
cp .env.example .env.local
npm run dev

Mobile App

# Navigate to mobile directory
cd projects/fss/mobile

# Install dependencies
npm install

# Install Expo CLI globally (if not already installed)
npm install --global @expo/cli

# Configure API endpoint
# Edit src/services/authApi.ts with your backend URL

# Start development server
npx expo start

Docker Installation

Using Docker Compose

# Navigate to project root
cd fss

# Start all services
docker-compose up -d

# View logs
docker-compose logs -f

Environment Setup

Create a .env file in the root directory:

# PostgreSQL
POSTGRES_USER=fss_user
POSTGRES_PASSWORD=your_password
POSTGRES_DB=fss

# Redis
REDIS_PASSWORD=your_redis_password

# Backend
BACKEND_PORT=3443
NODE_ENV=development

# Frontend
NEXT_PUBLIC_API_URL=http://localhost:3443
NEXT_PUBLIC_APP_URL=http://localhost:3000

Verifying Installation

After installation, verify everything is working:

Backend

# Check if backend is running
curl https://localhost:3443/health

# Expected response
{
"status": "ok",
"timestamp": "2024-01-01T00:00:00Z"
}

Frontend

Open your browser and navigate to:

Mobile

Run on simulator or physical device:

npx expo start

Common Installation Issues

PostgreSQL Connection Failed

# Check if PostgreSQL is running
pg_isready -h localhost -p 5432

# Start PostgreSQL
# macOS
brew services start postgresql

# Linux
sudo systemctl start postgresql

# Docker
docker start postgres

Redis Connection Failed

# Check if Redis is running
redis-cli ping

# Start Redis
# macOS
brew services start redis

# Linux
sudo systemctl start redis

# Docker
docker start redis

Port Already in Use

# Find process using the port
lsof -ti:3000 | xargs kill -9 # Frontend
lsof -ti:3443 | xargs kill -9 # Backend

Node Version Mismatch

# Check Node version
node --version

# Required: Node.js 18.x or higher

# If using nvm
nvm install 20
nvm use 20

Next Steps

After successful installation:

  1. Configuration Guide - Configure your setup
  2. Quick Start - Get started with development
  3. Environment Variables - Set up environment variables

Support

If you encounter issues during installation: