Frequently Asked Questions
What databases does SWAIN support?
SWAIN provides robust support for PostgreSQL, MySQL, and SQLite with full feature parity across these SQL databases. MongoDB support is experimental with basic CRUD operations available. You can switch between supported SQL databases by simply changing your connection in the platform — no code changes required. Additional database support is planned for future releases.
Do I need to write any code to use SWAIN?
No, you don't need to write any code. SWAIN is entirely visual — you work through a web-based platform where you create projects, connect databases, and configure settings using point-and-click tools. The platform features a drag-and-drop Query Builder, visual schema explorer, and form-based configuration for all settings. After generation, you receive a complete, deployable API package that runs on your infrastructure without any additional coding.
How is SWAIN different from traditional frameworks or ORMs?
Traditional frameworks require weeks of coding — models, controllers, routes, middleware. SWAIN is fundamentally different: it's a visual platform that generates complete backends without any coding. Instead of writing model definitions, you connect your existing database and SWAIN discovers the schema. Instead of coding controllers, the platform generates all endpoints automatically. The key difference is the level of abstraction: with Django/Rails, you're building from scratch with code; with SWAIN, you're configuring through a visual interface and receiving a production-ready API in minutes.
How does SWAIN handle security and authentication?
Security is comprehensive and configured entirely through the platform's visual interface. The platform supports JWT Bearer tokens and API keys for authentication, both configurable with simple toggles. The Row-Level Security (RLS) system lets you define fine-grained access rules through a visual rule builder, perfect for multi-tenant applications. RLS expressions are automatically merged with user queries using the same filter syntax, ensuring consistent behavior. You can set up role-based permissions and tenant isolation through JWT claims. All security features are configured through the platform UI and automatically implemented in your generated API.
Can I customize or extend the generated API?
The SWAIN platform generates complete, production-ready APIs that handle the vast majority of backend requirements out of the box. Through the platform's visual tools, you can configure extensive functionality without custom code — complex queries through the Query Builder, custom authentication flows, and API behaviors. For specialized business logic beyond data operations, you can use the generated API as a data layer and build business logic services that consume it, or integrate with external services through the API's standard REST interface.
Is SWAIN suitable for production use?
Yes, absolutely. SWAIN generates production-ready backends built on proven, enterprise-grade technologies. The generated APIs include comprehensive features: transaction support, input validation, error handling, and optimized database queries. The platform produces APIs with robust security infrastructure including JWT and API key authentication, plus Row-Level Security capabilities. Complex filtering is automatically optimized for performance. Many businesses use SWAIN-generated backends in production for internal tools, customer-facing applications, and enterprise systems.
How does SWAIN compare to GraphQL solutions like Hasura?
SWAIN takes a unique approach by combining the simplicity of REST with the power of a visual platform. Unlike GraphQL solutions that require learning a new query language, SWAIN uses familiar REST endpoints with JSON filtering. The visual Query Builder lets you construct complex queries through drag-and-drop, generating the JSON automatically. Unlike hosted solutions, SWAIN generates self-contained API packages that you deploy on your own infrastructure — giving you complete control over your data, deployment, and scaling.
What do I receive after generating an API?
After generation, you receive a complete backend package including: a production-ready API server with all CRUD endpoints configured, JWT-based authentication and security setup, Swagger/OpenAPI documentation, WebSocket support for real-time updates, deployment scripts for your infrastructure, and all necessary configuration files. This self-contained package can be deployed immediately to any infrastructure — cloud providers, on-premises servers, or container platforms.
How does API versioning work in SWAIN?
SWAIN supports API evolution through its One-Click Regeneration feature. When your database schema changes (adding tables, modifying columns, or updating relationships), simply reconnect to your database in the platform and click regenerate. The platform automatically detects all schema changes and generates an updated API that reflects your current database structure. Each generated API is a complete, self-contained package that can be deployed independently. If you need to maintain multiple API versions during a migration period, you can generate separate API packages from different database schemas (e.g., production vs. development) and deploy them to different endpoints (e.g., /api/v1/ and /api/v2/). The platform maintains a generation history, showing when each API was created and what schema version it represents. This approach gives you full control over API versioning and deployment strategies while keeping the generation process simple.
What deployment options are included with generated APIs?
Each generated API package includes a production-ready Dockerfile for containerized deployment. The API is compiled as a standalone binary that can run on any Linux server without dependencies. The Docker image is optimized for production use with multi-stage builds for minimal size and secure handling of dependencies. For cloud deployments, the containerized API works with any provider that supports Docker containers (AWS ECS/EKS, Google Cloud Run/GKE, Azure Container Instances/AKS, DigitalOcean App Platform). The generated API includes health check endpoints and graceful shutdown handling for production deployments. Database connection pooling and performance tuning are pre-configured based on best practices. Additional deployment configurations (docker-compose, Kubernetes manifests) can be easily created based on your specific infrastructure needs.