Skip to main content

Create Your First Project

This guide walks you through creating your first project on the ItBuild platform.

Prerequisites

Before you begin, you need:

  1. ItBuild Account - Register at itbuild.app
  2. Domain Name - You'll need a domain you control (e.g., yourcompany.com)
  3. DNS Access - Ability to add TXT records to your domain

Step 1: Register an Account

  1. Visit itbuild.app
  2. Click "Sign Up"
  3. Provide:
    • Company name
    • Email address
    • Password
  4. Verify your email

Step 2: Create a Project

  1. Log in to ItBuild Platform
  2. Click "Create New Project"
  3. Fill in project details:

Project Information

FieldDescriptionExample
Project NameYour application name"Acme Corp Portal"
DomainYour application domainapp.acme.com
DescriptionBrief description"Customer portal for Acme Corp"

Select Modules

Choose which standard modules you need:

ModuleDescription
AuthProxy (Required)Web server, 14 auth methods, reverse proxy, file service, SSE
TrexWalletCrypto wallets, transactions, 6 blockchain scanners, exchange rates
ChatSMS (Twilio, Smsc, Infobip, Nexmo, SmsApi), Email, Telegram bot, files, tasks
CRMCustomer cards, referrals, external IDs

Note: You can add more modules later. Payment Gateway is included with TrexWallet (see TrexWallet).

Project Type

  • Development - Free tier for testing
  • Commercial - Production-ready with SLA
  1. Click "Create Project"

Step 3: Verify Domain Ownership

After project creation, you'll receive verification details.

3.1 Get Verification Record

Platform shows:

Domain: app.acme.com
Verification Record:
Host: _itbuild-verify.app.acme.com
Type: TXT
Value: 17234567890001:17234567890002

3.2 Add DNS TXT Record

Using your DNS provider (examples for common providers):

Cloudflare

  1. Go to DNS section
  2. Click Add Record
  3. Settings:
    • Type: TXT
    • Name: _itbuild-verify.app.acme.com
    • Content: 17234567890001:17234567890002
    • TTL: Auto
  4. Save

AWS Route 53

  1. Go to Hosted Zones
  2. Select your domain
  3. Click Create Record
  4. Settings:
    • Record name: _itbuild-verify.app.acme.com
    • Record type: TXT
    • Value: "17234567890001:17234567890002"
    • TTL: 300
  5. Create

Google Domains

  1. Go to DNS settings
  2. Click Manage custom records
  3. Add record:
    • Host name: _itbuild-verify.app.acme.com
    • Type: TXT
    • Data: 17234567890001:17234567890002
    • TTL: 3600
  4. Save

3.3 Verify in Platform

  1. Wait 5-10 minutes for DNS propagation
  2. Return to ItBuild Platform
  3. Click "Verify Domain"

Successful verification:

✓ Domain verified successfully!
Status: Active
Your DEV environment is being provisioned...

If verification fails:

  • Wait longer (DNS can take up to 24 hours)
  • Check TXT record is correct (case-sensitive!)
  • Use DNS checker tool to verify propagation

Step 4: Access Your DEV Environment

After verification and provisioning (~5-10 minutes):

DEV Environment Details

You'll receive:

DEV URL: https://dev.itbuild.app:<your-project-port>     # ports 8001-8999 are allocated to customer projects
Project ID: 17234567890001
Build ID: 17234567890002

Credentials:
Admin Email: admin@acme.com
Temporary Password: (check your email)

The platform team's own dev stand lives at https://dev.itbuild.app:8081 and is not used for customer testing — make sure you use the port assigned to your project.

First Login

  1. Visit your DEV URL with your project port: https://dev.itbuild.app:<your-port>.
  2. You'll see the AuthProxy login page.
  3. Log in with admin credentials.
  4. Change password immediately!

Step 5: Explore Your Environment

Admin Panel

Access admin panel at: https://dev.itbuild.app:8001/ProxyAdmin

Available Pages:

  • Users - Manage user accounts
  • Routes - Configure API routing
  • Settings - System configuration
  • Logs - View audit logs

API Documentation

Interactive Swagger docs at: https://dev.itbuild.app:8001/docs/swagger

Available APIs:

  • /auth/v1/* - Authentication endpoints
  • /auth/v1/keys/* - Key management
  • /auth/v1/identity/* - User identity
  • Module-specific endpoints (if selected)

Monitoring

Access monitoring dashboards:

  • Uptrace - Logs and traces
  • Grafana - Metrics visualization

(Links provided in platform dashboard)

Step 6: Set Up Your Core Module

Your custom business logic goes in the Core Module.

6.1 Get Repository Access

  1. Go to Project Settings in ItBuild Platform
  2. Navigate to Repository tab
  3. Copy your project repository URL from the generated repository card.

6.2 Clone Repository

git clone <project-core-repository-url>
cd project-core

6.3 Repository Structure

project-core/
├── Controllers/ # API controllers
├── Models/ # Data models
├── Services/ # Business logic
├── Pages/ # Admin pages (optional)
└── Program.cs # Application entry point

6.4 First API Endpoint

Add a small endpoint to your Core module to confirm that routing, build, and deployment are connected. Keep it under your Core API prefix and return the standard platform response envelope.

6.5 Test Locally

Run the Core module locally with your standard .NET development command.

Visit: http://localhost:5000/core/v1/hello

Expected response: a successful platform API envelope with your test message.

6.6 Deploy to DEV

Commit and push your Core changes to trigger the configured project pipeline.

Automatic build triggers:

  1. ItBuild Platform detects push
  2. Builds modules for your verified domain
  3. Deploys to your DEV environment

Test deployed version:

https://<project-dev-endpoint>/core/v1/hello

Step 7: Configure Modules

Configure Module Routes

In Admin PanelRoutes, add route for your core module:

FieldValue
Path/core/v1
Addresshttp://project123-core:80
Flags0 (authenticated, no scope check) or 8 (ScopeCheck — requires route.path in user.scopes); add 16 (NoAuth) for public endpoints, 64 (CheckAppId) for merchant endpoints
TagCore Module

route_map carries flags (a RouteFlags bitmask) — there is no separate scopes column. See docs.authproxy.tech/docs/api-gateway/reverse-proxy.md for the full flag table.

Configure Module Communication

If your core module needs to call other modules:

appsettings.json (auto-generated, can customize):

{
"Config": {
"Modules": {
"Wallet": "http://project123-wallet:80",
"Chat": "http://project123-chat:80",
"CRM": "http://project123-crm:80"
}
}
}

Call from your code: Use the generated module clients or the configured module URLs from your Core service layer. Do not hardcode internal container addresses in business code.

Step 8: Monitor Your Application

View Logs (Uptrace)

  1. Go to Monitoring in ItBuild Platform
  2. Click View Logs
  3. Filter by:
    • Service (authproxy, wallet, core)
    • Time range
    • Log level (Error, Warning, Info)

View Metrics (Grafana)

  1. Go to MonitoringMetrics
  2. Dashboards available:
    • Overview - All services health
    • AuthProxy - Auth metrics
    • Your Core Module - Custom metrics
  3. Key metrics:
    • Request rate
    • Error rate
    • Response time (p50, p95, p99)
    • Active connections

Troubleshooting

"Domain verification failed"

Check:

  1. DNS record is exactly as provided (case-sensitive)
  2. DNS has propagated (use dnschecker.org)
  3. Record type is TXT (not CNAME or A)
  4. No extra spaces in TXT value

"Cannot access DEV environment"

Check:

  1. URL is exactly as provided (include port!)
  2. HTTPS (not HTTP)
  3. Provisioning completed (check platform status)
  4. Firewall/VPN not blocking port

"Build failed"

Check:

  1. Code compiles locally (dotnet build)
  2. All required NuGet packages referenced
  3. No syntax errors
  4. Build logs in platform (check for details)

"Module communication error"

Check:

  1. Module route configured in Admin → Routes
  2. Module address uses Docker network name (not localhost)
  3. Module is running (check Docker status)
  4. API endpoint exists in target module

Next Steps

Project Created - Your DEV environment is ready!

Continue with:

Need help?

Happy building! 🚀