05 — Roadmap
Back to README | Prev: Phase 1 Implementation | Next: Contributing
Phase Overview
| Phase | Focus | Status |
|---|---|---|
| Phase 1 — MVP | Visual canvas + migrations export | ✅ Complete |
| Phase 2 — Core Enhancements | Full code generation (models, factories, seeders) | ✅ Complete |
| Phase 2.5 — Project Export | Complete Laravel + Filament project generation | ✅ Complete |
| Phase 3 — SaaS Launch | Auth, cloud save, sharing | Planned |
| Phase 4 — Premium & Growth | Collaboration, AI, billing | Planned |
Phase 1 — MVP (Current)
Goal: A user can open SchemaCraft, design tables visually, define relationships, and export working Laravel migration files.
Canvas
- Blank canvas with grid background
- Zoom and pan controls
- Add table via button click
- Drag tables to reposition on canvas
- Auto-save table positions
Table Editor
- Click table to open editor panel
- Add / edit / remove columns
- Column properties: name, type (all Laravel migration types), nullable, default, unique, index
- Built-in shortcuts:
id,timestamps,softDeletestoggles - Rename and delete tables
Relationships
- Draw lines between tables to define relationships
- Relationship types: hasOne, hasMany, belongsTo, belongsToMany, morphTo, morphMany
- Visual indicators for cardinality (1-to-1, 1-to-many, many-to-many)
- Auto-create foreign key columns when relationship is defined
Code Generation
- Generate Laravel migration files from schema
- Preview generated code before exporting
- Download all migrations as a ZIP file
Project Management
- Create / rename / delete projects
- Local database storage
Deliverable: Fully functional schema designer with migration export.
See Phase 1 Implementation Plan for the detailed 8-step build order.
Phase 2 — Core Enhancements
Goal: Feature-complete package with full code generation and import capabilities.
Code Generation (expanded)
- Generate Eloquent Models with relationships,
$fillable,$casts✅ - Generate Factories with appropriate Faker methods per column type ✅
- Generate Seeders with realistic sample data ✅
Import
- Import from existing database — connect to a database and reverse-engineer the schema
- Import from migration files — parse existing Laravel migration files into the visual designer
Canvas Improvements
- Undo / Redo on canvas actions
- Table color coding and visual grouping
- Search / filter tables on large schemas
- Mini-map for navigating large schemas
- Keyboard shortcuts for common actions (Delete, Ctrl+Z, Ctrl+S, etc.)
UX Polish
- Drag-select multiple tables
- Copy/paste tables between projects
- Auto-layout algorithm for messy schemas
Phase 2.5 — Project Export
Goal: Export a complete, ready-to-run Laravel + Filament project — not just code files.
What Was Built
-
LaravelProjectGenerator— Orchestrates all generators + base template + configuration into a single ZIP ✅ - Base Laravel 12 template — Pre-configured skeleton stored in
packages/schemacraft/templates/laravel-12/base/✅ - Pre-generated
.env— UniqueAPP_KEYinjected so users never needphp artisan key:generate✅ - Filament 5 admin panel —
AdminPanelProviderauto-registered; discovers resources after setup ✅ - Browser-based setup wizard — Alpine.js 4-state UI on the welcome page (
idle → running → complete → error) ✅ - One-click setup — 4 sequential steps: migrate → seed → publish assets → generate Filament resources ✅
- Idempotent steps — Setup can be retried safely; seed skips if users already exist ✅
- Admin user seeding —
admin@example.com/passwordauto-created from DatabaseSeeder ✅
User Workflow (after Phase 2.5)
composer install
php artisan serve
# → Open http://localhost:8000
# → Click "Run Setup"
# → Click "Open Admin Panel"
Two terminal commands. Everything else handled in the browser.
See Phase 2.5 Implementation for full details.
Phase 3 — SaaS Launch
Goal: Launch the hosted version with user accounts and cloud features.
Authentication & Accounts
- User registration and login (Laravel Breeze)
- Email verification
- Profile management
Cloud Features
- Cloud save/load projects (replaces local-only storage)
- Dashboard with project listing and thumbnails
- Share schema via public link (read-only)
Export Enhancements
- Export schema as ERD image (PNG / SVG)
- Export as SQL (MySQL, PostgreSQL, SQLite)
Marketing
- Landing page with product info and pricing
- Basic analytics and usage tracking
Phase 4 — Premium & Growth
Goal: Monetization, collaboration, and advanced features.
Real-time Collaboration
- Live collaborative editing (Laravel Reverb / WebSockets)
- Cursor presence (see where teammates are working)
- Change notifications
Teams
- Team workspaces with member management
- Role-based permissions (owner, admin, member)
- Team project library
Version Control
- Version history with visual diff view
- Restore previous versions
- Version descriptions / commit messages
Advanced Code Generation
- Custom code generation templates (user-defined Blade templates)
Monetization
- Subscription billing (Laravel Cashier / Stripe)
- Free tier: 3 projects, basic export
- Pro tier: unlimited projects, all generators, import
- Team tier: collaboration, shared workspaces
AI Features
- Describe tables in plain English → auto-generate schema
- Schema optimization suggestions
- Auto-suggest relationships based on naming conventions
CLI Integration
-
php artisan schemacraft:generatefor CI/CD pipelines -
php artisan schemacraft:importfor database reverse-engineering -
php artisan schemacraft:exportfor headless export
Feature Distribution
What ships in the open-source package vs. the SaaS app:
| Feature | Package | SaaS |
|---|---|---|
| Visual canvas editor | Yes | Yes |
| Table/column/relationship design | Yes | Yes |
| Generate migrations | Yes | Yes |
| Generate models, factories, seeders | Yes | Yes |
| Export as ZIP | Yes | Yes |
| Import from existing database | Yes | Yes |
| User authentication | — | Yes |
| Cloud save projects | — | Yes |
| Team collaboration (real-time) | — | Yes |
| Version history | — | Yes |
| Share via public link | — | Yes |
| Billing / subscriptions | — | Yes |
| Custom code templates | — | Premium |
| AI-assisted schema generation | — | Premium |
Next: Contributing