Files
defiQUG 507d9a35b1 Add initial project structure and documentation files
- Created .gitignore to exclude sensitive files and directories.
- Added API documentation in API_DOCUMENTATION.md.
- Included deployment instructions in DEPLOYMENT.md.
- Established project structure documentation in PROJECT_STRUCTURE.md.
- Updated README.md with project status and team information.
- Added recommendations and status tracking documents.
- Introduced testing guidelines in TESTING.md.
- Set up CI workflow in .github/workflows/ci.yml.
- Created Dockerfile for backend and frontend setups.
- Added various service and utility files for backend functionality.
- Implemented frontend components and pages for user interface.
- Included mobile app structure and services.
- Established scripts for deployment across multiple chains.
2025-12-03 21:22:31 -08:00

3.8 KiB

ASLE Setup Guide

Complete setup instructions for the ASLE platform.

Prerequisites

  • Node.js 18+ and npm
  • PostgreSQL 14+
  • Redis (optional, for caching)
  • Docker and Docker Compose (optional)

Quick Start

1. Clone and Install

# Install backend dependencies
cd backend
npm install

# Install frontend dependencies
cd ../frontend
npm install

2. Database Setup

cd backend

# Copy environment file
cp .env.example .env

# Edit .env with your database credentials
# DATABASE_URL="postgresql://user:password@localhost:5432/asle"

# Generate Prisma client
npm run prisma:generate

# Run migrations
npm run prisma:migrate

# Initialize database with default configs
npm run setup:db

# Create initial admin user
npm run setup:admin

3. Environment Configuration

Edit backend/.env with your configuration:

Required:

  • DATABASE_URL - PostgreSQL connection string
  • JWT_SECRET - Secret key for JWT tokens (use strong random string)
  • DIAMOND_ADDRESS - Deployed Diamond contract address
  • RPC_URL - Ethereum RPC endpoint

Optional (for push notifications):

  • FIREBASE_SERVICE_ACCOUNT - Firebase service account JSON
  • ONESIGNAL_APP_ID and ONESIGNAL_API_KEY - OneSignal credentials
  • AWS_SNS_IOS_ARN and AWS_SNS_ANDROID_ARN - AWS SNS platform ARNs
  • FCM_SERVER_KEY - Firebase Cloud Messaging server key
  • APNS_KEY_ID, APNS_TEAM_ID, APNS_KEY_PATH - Apple Push Notification credentials

Optional (for KYC/AML):

  • Provider API keys (Sumsub, Onfido, Jumio, Veriff, Persona, Chainalysis, Elliptic, CipherTrace, TRM)

4. Start Services

Backend:

cd backend
npm run dev

Frontend:

cd frontend
npm run dev

5. Access Applications

Production Deployment

1. Build

# Backend
cd backend
npm run build

# Frontend
cd ../frontend
npm run build

2. Environment Variables

Set all environment variables in your production environment. Use a secret management service (AWS Secrets Manager, HashiCorp Vault) for sensitive values.

3. Database Migration

cd backend
npm run prisma:migrate deploy

4. Run

# Backend
cd backend
npm start

# Frontend
cd frontend
npm start

Docker Deployment

# Build and start all services
docker-compose up -d

# View logs
docker-compose logs -f

# Stop services
docker-compose down

Admin Setup

Create Admin User

cd backend
npm run setup:admin

Follow the prompts to create your first admin user.

Login

  1. Navigate to http://localhost:3000/admin/login
  2. Enter your admin credentials
  3. Access the admin dashboard

Testing

Backend Tests

cd backend
npm test
npm run test:watch
npm run test:coverage

Frontend Tests

cd frontend
npm test

Troubleshooting

Database Connection Issues

  • Verify PostgreSQL is running
  • Check DATABASE_URL in .env
  • Ensure database exists: CREATE DATABASE asle;

Migration Issues

# Reset database (WARNING: deletes all data)
npm run prisma:migrate reset

# Create new migration
npm run prisma:migrate dev --name migration_name

Port Already in Use

Change PORT in .env or kill the process using the port:

# Find process
lsof -i :4000

# Kill process
kill -9 <PID>

Next Steps

  1. Configure push notification providers
  2. Set up KYC/AML provider credentials
  3. Deploy smart contracts
  4. Configure white-label instances
  5. Set up monitoring and alerting

Support

For issues or questions, see: