The hardest part(atleast for me) of developing a laravel application lies in writing boilerplate code. These include migrations, models, factories and seeders. Its because of this challenge that I decided to explore possible solutions to make it easier to get started on a project as quickly as possible. Today I'll take you through DrawERD, a powerful tool designed to streamline this process by providing a visual Entity-Relationship Diagram (ERD) designer and code generator including a powerful drag n drop designer for Filament resources.
What is DrawERD?
DrawERD is a Laravel web application that helps developers design their database schemas visually and automatically generate Laravel models and migrations. It bridges the gap between database design and application code, making it easier to keep your Laravel projects well-organized and up-to-date.
Key feautures of DrawERD
Key Features of DrawERD:
- ERD Creation: Visualize and design your database schema with an intuitive interface.
- Code Generation: Automatically generate Laravel models and migration files based on your ERD.
- Advanced Features: DrawERD supports advanced features like PHP Enums out of the box.
- Intelligent Code Export: DrawERD will automatically order your migrations in such a way that foreign key dependencies are resolved, and extract problematic foreign keys that can not be solved by ordering into their own migration file.
- FilamentPHP: Quickly design your filament resources through an advanced easy to use drag and drop designer and generate resources and relation managers for multiple panels.
- Code Export: You can either download a full laravel project with filament, download schema files(models, migrations etc) or export code directly to your project using our offline composer package bunitech/draw-erd
- Team Collaboration: Collaborate on your database schema design with team mates. Manage different branches and merge changes to the main branch.
- Project Revisions: Make as many revisions as you need and switch back to an earlier revision when you need.
- Eloquent Relationships: All laravel resources are supported out of the box including many to many and polymorphic relationships. DrawERD will even suggest a relationship based on column conventions, making it extremely easy to create relationships.
- Project Sharing: You can easily share projects with clients or export your schema as a PNG image.
- Schema Templates: We have several templates available for cloning and we plan to realease as many as possible. You can also share your schema as a template for other users to use.
Getting Started with DrawERD
DrawERD is very easy too get started with. Simply create an account, and create a project. You will be asked if you want DrawERD to create default laravel models and tables for you, Which you can ignore. From there you can now create your models and define the relationships between them, then export the generated code for all your models,migrations, factories and seeders.
If you your projects needs an Admin Panel, You can use FilamentPHP, which we highly recommend, both for non-customer facing and even customer facing applications. DrawERD provides an easy to use drag and drop designer that supports almost all filament features out of the box.
This includes Tabs, Repeaters, Relation Managers. Infact the default Enum Manager has an opt-in support for filament and has columns for selecting the colors, labels, icons(with an icon picker for upto 74 icon sets) and descriptions for the different states. They can then be used in table columns, select fields, toggle buttons, table filters e.t.c. Give it a spin today.
In closing
You can see that DrawERD is a game changer when it comes to developing laravel projects, specifically in database design and admin panel generation with filament.
Give it a try today and supercharge your project development instantly.