Files
asle/QUICK_START.md
defiQUG a8e1af2c13 Add environment configuration examples and quick start guide
- Add backend/.env.example with all required and optional variables
- Add frontend/.env.example with Next.js public variables
- Create QUICK_START.md for team onboarding
- Include submodule cloning instructions
2025-12-03 21:42:21 -08:00

4.1 KiB

ASLE Quick Start Guide

Get up and running with the ASLE platform in minutes.

Prerequisites

  • Node.js 20+
  • Docker and Docker Compose (optional, for local services)
  • PostgreSQL 15+ (or use Docker)
  • Git with submodule support

Step 1: Clone Repository

# Clone with submodules (IMPORTANT!)
git clone --recurse-submodules https://github.com/Order-of-Hospitallers/asle.git
cd asle

# If you already cloned without submodules:
git submodule update --init --recursive

Step 2: Start Infrastructure

# Start PostgreSQL and Redis (if using Docker)
docker-compose up -d postgres redis

Or install PostgreSQL locally and create a database:

createdb asle

Step 3: Backend Setup

cd backend

# Install dependencies
npm install

# Copy environment file
cp .env.example .env

# Edit .env with your configuration
# Minimum required:
# - DATABASE_URL
# - JWT_SECRET
# - RPC_URL
# - DIAMOND_ADDRESS (after deploying contracts)

# Generate Prisma client
npm run prisma:generate

# Run database migrations
npm run prisma:migrate

# Initialize database
npm run setup:db

# Create admin user
npm run setup:admin

# Start backend (development)
npm run dev

Backend will run on http://localhost:4000

Step 4: Frontend Setup

cd ../frontend

# Install dependencies
npm install

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

# Edit .env.local with your configuration
# Minimum required:
# - NEXT_PUBLIC_API_URL
# - NEXT_PUBLIC_DIAMOND_ADDRESS
# - NEXT_PUBLIC_RPC_URL

# Start frontend (development)
npm run dev

Frontend will run on http://localhost:3000

Step 5: Deploy Contracts (Optional)

cd ../contracts

# Install Foundry dependencies
forge install

# Build contracts
forge build

# Run tests
forge test

# Deploy (see DEPLOYMENT.md for details)
forge script script/Deploy.s.sol:DeployScript --rpc-url $RPC_URL --broadcast --private-key $PRIVATE_KEY

Step 6: Access the Application

Common Issues

Submodules Not Cloned

If you see empty contracts/ or frontend/ directories:

git submodule update --init --recursive

Database Connection Error

  1. Verify PostgreSQL is running
  2. Check DATABASE_URL in backend/.env
  3. Ensure database exists: createdb asle

Port Already in Use

Change PORT in backend/.env or kill the process:

lsof -i :4000
kill -9 <PID>

Missing Dependencies

# Backend
cd backend && npm install

# Frontend
cd frontend && npm install

# Contracts
cd contracts && forge install

Next Steps

  1. Configure Environment: Update all .env files with your API keys and configuration
  2. Deploy Contracts: Deploy smart contracts to your target network
  3. Set Up KYC/AML: Configure KYC/AML provider credentials (optional)
  4. Configure Push Notifications: Set up push notification providers (optional)
  5. Review Documentation: See README.md and DEPLOYMENT.md

Development Workflow

Making Changes

  1. Backend Changes: Edit files in backend/src/, changes auto-reload with npm run dev
  2. Frontend Changes: Edit files in frontend/app/ or frontend/components/, changes auto-reload
  3. Contract Changes: Edit files in contracts/src/, run forge build and forge test

Running Tests

# Backend tests
cd backend && npm test

# Contract tests
cd contracts && forge test

Database Migrations

cd backend
npm run prisma:migrate dev --name migration_name

Production Deployment

See DEPLOYMENT.md for detailed production deployment instructions.

Getting Help