GitHub Codespaces
GitHub Codespaces
Section titled “GitHub Codespaces”Develop with Islamic Open Finance™ using GitHub Codespaces.
Overview
Section titled “Overview”Codespaces provides a complete development environment in the cloud:
- Pre-configured environment
- All dependencies installed
- Databases running automatically
- No local setup required
Quick Start
Section titled “Quick Start”1. Open in Codespaces
Section titled “1. Open in Codespaces”Or from the repository:
- Click the Code button
- Select Codespaces tab
- Click Create codespace on main
2. Wait for Setup
Section titled “2. Wait for Setup”The codespace automatically:
- Installs Node.js 22
- Installs pnpm dependencies
- Starts database and cache services
- Runs database migrations
3. Start Development
Section titled “3. Start Development”# Start all servicespnpm dev
# Or start specific servicespnpm dev:rail-apipnpm dev:admin-portalAvailable Ports
Section titled “Available Ports”| Port | Service |
|---|---|
| 3000 | Rail API |
| 3001 | Admin Portal |
| 3002 | API Explorer |
| 5432 | Database |
| 6379 | Cache |
Environment Variables
Section titled “Environment Variables”Codespaces automatically sets up:
DATABASE_URL=<auto-configured>CACHE_URL=<auto-configured>JWT_SECRET=codespaces-dev-secretPersistence
Section titled “Persistence”Codespaces persist:
- ✅ Code changes
- ✅ Database data
- ✅ VS Code settings
- ✅ Terminal history
Pre-build Configuration
Section titled “Pre-build Configuration”The repository includes .devcontainer/devcontainer.json:
{ "name": "IOF Development", "image": "mcr.microsoft.com/devcontainers/typescript-node:22", "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {} }, "postCreateCommand": "pnpm install", "forwardPorts": [3000, 3001, 3002, 5432, 6379]}Resource Limits
Section titled “Resource Limits”| Machine Type | CPU | Memory |
|---|---|---|
| 2-core | 2 | 4 GB |
| 4-core | 4 | 8 GB |
| 8-core | 8 | 16 GB |
Recommended: 4-core for development.
Next Steps
Section titled “Next Steps”- Getting Started - Development guide
- API Reference - Available endpoints