Skip to content

Repository files navigation

Base44 to Supabase Migration SDK

CI Tests License: MIT Node.js GitHub issues GitHub stars

🚀 Need Professional Help? I offer complete Base44 migration services with zero downtime and guaranteed results. Integration implementations from paid projects are contributed back to the open source codebase. Get professional migration services →

A universal drop-in replacement SDK that aims to allow any Base44 project to migrate to self-hosted Supabase infrastructure with zero code changes required.

✨ Goals

  • Zero Code Changes Required - Works with any Base44 app immediately
  • Universal Compatibility - Automatically discovers and supports all Base44 entities
  • 100% API Compatibility - All existing Base44 code works unchanged
  • Intelligent Entity Management - Automatically creates entities on-demand
  • Smart Security - Automatically applies appropriate security policies
  • Uses Supabase (PostgreSQL) as the backend database
  • Multiple Deployment Options (Cloudflare Pages, Vercel, self-hosted)
  • Enhanced Security with Row Level Security (RLS)
  • Real-time Capabilities and advanced querying
  • Eliminates Vendor Lock-in and reduces costs significantly

🚀 Quick Start

1. Install Dependencies

npm install @supabase/supabase-js

2. Copy SDK Files

Copy these files to your Base44 project:

src/lib/
├── supabase-client.js    # Supabase connection setup
└── custom-sdk.js         # Universal custom SDK implementation

src/api/
└── base44Client.js       # Universal drop-in replacement

3. Set Up Environment Variables

VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
VITE_SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key

4. Create Database Schema

Set up your Supabase database with tables matching your Base44 entities (see full guide below).

That's it! Your existing Base44 code now works with Supabase.

🎯 How It Works

The SDK uses intelligent proxies to automatically discover and create entities:

// Your existing Base44 code works unchanged
import { BlogPost, User, YourCustomEntity } from "./src/api/entities";

// SDK automatically:
// BlogPost → creates CustomEntity("blog_posts")
// YourCustomEntity → creates CustomEntity("your_custom_entities")
// Applies appropriate security policies automatically

const posts = await BlogPost.list(); // Works immediately
const user = await User.me(); // Works immediately
const custom = await YourCustomEntity.create(data); // Works immediately

📊 Benefits

Feature Base44 Self-Hosted with SDK
Monthly Cost $X/month $0-25/month
Code Changes N/A Zero
Data Control Limited Full
Customization Limited Unlimited
Vendor Lock-in Yes No
Real-time Features Limited Full
Performance Fixed Optimizable

🚦 Implementation Status

✅ Fully Implemented & Production Ready

Core SDK Features:

  • Universal Entity Discovery - Automatically creates entities on-demand
  • CRUD Operations - Create, Read, Update, Delete for all entities
  • Authentication - User login, logout, session management
  • Field Mapping - Automatic Base44 ↔ Supabase field conversion
  • Smart Security - Automatic service role detection for sensitive entities
  • Error Handling - Graceful handling of missing tables and auth errors
  • Caching - Entity caching for improved performance
  • Environment Support - Works with Vite, Node.js, and various frameworks

Database Operations:

  • Filtering & Ordering - Advanced query capabilities
  • Pagination - Limit and offset support
  • Relationships - Foreign key handling
  • Row Level Security - Automatic RLS policy application

🚧 Placeholder Implementations (Require Setup)

Integration Functions:

  • 🚧 InvokeLLM - Placeholder with OpenAI implementation guide
  • 🚧 SendEmail - Placeholder with Resend/SendGrid implementation guide
  • 🚧 UploadFile - Placeholder with Supabase Storage implementation guide
  • 🚧 GenerateImage - Placeholder with DALL-E implementation guide
  • 🚧 ExtractDataFromUploadedFile - Placeholder with OCR implementation guide

Custom Functions:

  • 🚧 verifyHcaptcha - Returns mock success, needs hCaptcha API integration

📝 Implementation Notes

Integration Functions Status: All integration functions are implemented as intelligent placeholders that:

  • Accept the correct parameters matching Base44 API
  • Return properly formatted responses
  • Include detailed TODO comments with implementation guidance
  • Provide mock responses for development/testing

To Implement Integrations:

  1. InvokeLLM: Replace placeholder with OpenAI API calls
  2. SendEmail: Replace placeholder with Resend, SendGrid, or similar service
  3. UploadFile: Replace placeholder with Supabase Storage implementation
  4. GenerateImage: Replace placeholder with DALL-E, Stability AI, or similar
  5. ExtractDataFromUploadedFile: Replace placeholder with OCR service

Why Placeholders?

  • Keeps the SDK lightweight and dependency-free
  • Allows you to choose your preferred service providers
  • Maintains 100% API compatibility during development
  • Provides clear implementation guidance

🔄 Migration Compatibility

What Works Immediately:

  • All entity operations (list, filter, get, create, update, delete)
  • User authentication and session management
  • Database queries and relationships
  • Field mapping and data transformation

What Needs Implementation:

  • Third-party service integrations (email, AI, file storage)
  • Custom business logic functions
  • Advanced real-time features (optional)

📖 Full Documentation

For complete setup instructions, database schema creation, deployment options, and troubleshooting, see the SELF_HOSTING_GUIDE.md.

🤝 Professional Migration Services

Need Help with Your Migration?

Migrating production applications requires expertise in data migration, security configuration, and integration setup.

I'm available for hire to fully manage your Base44 to self-hosted transition.

What's Included:

Complete Data Migration

  • Export all your Base44 data safely with integrity verification
  • Set up optimized PostgreSQL schema matching your entities
  • Handle complex relationships and foreign keys correctly

Custom Integration Implementation

  • Implement all Base44 integrations (InvokeLLM, SendEmail, UploadFile, etc.)
  • Set up proper API keys and service connections
  • Test all functionality to ensure 100% compatibility
  • Contribute implementations back to open source (when possible) to benefit the entire community

Infrastructure Setup & Security

  • Configure Supabase project with proper Row Level Security
  • Set up authentication, user management, and permissions
  • Configure automated backups and monitoring

Server-Side Rendering (SSR) Enhancement

  • Config-driven SSR conversion for your most important routes
  • SEO optimization with proper meta tags, Open Graph, and structured data
  • Performance boost with pre-rendered content and faster initial loads
  • Zero code changes to your existing Base44 application
  • Selective implementation - only convert routes that benefit from SSR

Deployment & Go-Live Support

  • Deploy to your preferred platform (Cloudflare, Vercel, or self-hosted)
  • Configure custom domains, SSL certificates, and CDN
  • Performance optimization and caching setup
  • Go-live support with monitoring and troubleshooting

Post-Migration Support

  • 30 days of post-migration support and bug fixes
  • Documentation and training for your team
  • Performance monitoring and optimization recommendations

Server-Side Rendering (SSR) Enhancement

Transform your Base44 app's performance and SEO without changing a single line of your existing code.

How It Works:

  • Config-driven approach: Simply specify which routes need SSR (e.g., landing pages, blog posts, product pages)
  • Automatic data pre-loading: Your Base44 entities are pre-fetched server-side for instant page loads
  • Smart caching: Intelligent caching strategies reduce server load and improve performance
  • SEO optimization: Proper meta tags, Open Graph data, and structured markup generated automatically

Perfect For:

  • E-commerce sites: Product pages, category pages, and landing pages
  • Content sites: Blog posts, articles, and marketing pages
  • SaaS applications: Landing pages, pricing pages, and public content
  • Any app: Where specific routes need better SEO or faster initial loads

Benefits:

  • 🚀 Faster initial page loads - Content renders immediately, no loading spinners
  • 📈 Better SEO rankings - Search engines see fully rendered content
  • 📊 Improved Core Web Vitals - Better Lighthouse scores and user experience
  • 🎯 Selective optimization - Only convert routes that actually benefit from SSR
  • 🔄 Zero code changes - Your existing Base44 code works unchanged

Example Configuration:

// base44-ssr.config.js
ssrRoutes: [
  { path: "/", preload: ["BlogPost.list({ limit: 5 })"] },
  { path: "/products/:id", preload: ["Product.get(params.id)"] },
  { path: "/blog/:slug", preload: ["BlogPost.filter({ slug: params.slug })"] },
];

Open Source Contribution Model

When you hire me for professional migration services, you're not just getting a custom solution - you're helping improve the open source SDK for everyone.

  • Integration implementations developed for paid projects are contributed back to the open source codebase (when possible)
  • Bug fixes and improvements discovered during migrations benefit the entire community
  • Documentation enhancements from real-world usage scenarios are shared publicly
  • Your investment helps make the SDK more complete and robust for future users

This means the open source SDK continuously improves with each professional migration, creating a virtuous cycle that benefits everyone.

Why Choose Professional Migration?

  • Zero Downtime: Seamless transition with minimal disruption
  • Risk Mitigation: Experienced handling of data migration challenges
  • SSR Expertise: Advanced SSR implementation with optimal performance
  • Community Impact: Your project helps improve the open source SDK
  • Time Savings: Complete migration in days, not weeks or months
  • Cost Effective: Often cheaper than the time cost of DIY migration
  • Peace of Mind: Professional testing and validation of all functionality

Investment:

Migration services start at $2,500 for standard applications.

Contact:

📧 Email: info@ai-automators.org
💬 Schedule a Call: https://calendly.com/timstew
🌐 Website: https://ai-automators.org

Free 30-minute consultation to assess your project.

🧪 Testing

Run the included test suite:

npm test

📄 License

MIT License - Use freely in your projects.

🤝 Contributing

Contributions welcome! Please read the contributing guidelines and submit pull requests.


Ready to break free from vendor lock-in? Get started with the universal SDK or contact me for professional migration services!

About

Universal drop-in replacement SDK for Base44 projects to migrate to self-hosted Supabase with zero code changes

Resources

Contributing

Security policy

Stars

162 stars

Watchers

7 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages