Environments
Fangate currently operates with separate development and production backend environments, plus static developer documentation on docs.fangate.app.
Environment overview
| Environment | Main app / backend host | Purpose |
|---|---|---|
| Production | https://fangate.info | Live creators, buyers, payouts, and real payment flows |
| Development | https://fangate.co | Pre-release testing and backend validation |
| Docs | https://docs.fangate.app | Static developer documentation site |
API base URLs
| Environment | Base URL |
|---|---|
| Production | https://fangate.info/api |
| Development | https://fangate.co/api |
Live Swagger / OpenAPI
The Laravel backend exposes live Swagger UI in both environments:
- Production: https://fangate.info/api/documentation
- Development: https://fangate.co/api/documentation
The docs site also ships a static OpenAPI copy:
- Static spec:
/openapi.json - Static Swagger UI:
/swagger.html
What differs by environment
URLs and redirects
Email-verification and app-link flows are environment aware. The backend stores request-source context so verification and onboarding can return users to the correct app environment.
Storage
Development and production use different storage infrastructure and buckets. Integrators should never hardcode bucket names or object paths. Always use URLs returned by the backend.
Payments and user data
- production uses live payment processing and live user data
- development is for testing backend flows before release
Swagger accuracy
The live Swagger pages are generated from backend annotations. docs.fangate.app is a curated developer-facing explanation layer and should not contradict the generated spec.
Regenerating the OpenAPI spec
From the backend repo:
php artisan l5-swagger:generateFrom the docs repo:
npm run sync-openapiThat copies the generated backend spec into:
docs/public/openapi.json
Environment guidance for integrators
- Build new integrations against development first.
- Validate auth, upload, consent, and payout-adjacent flows in development before moving to production.
- Treat all returned URLs as opaque values.
- Do not assume that a development-only behavior is safe to rely on in production unless it is documented here and visible in the backend implementation.