Build better apps in a fraction of time
Gaudi is a declarative programming language and a backend framework that makes it easier to build and maintain web application APIs. Describe your models and APIs in a declarative way and instantly get your app with batteries included.
With Gaudi out of the box you get expressive data modeling, customizable APIs, automatic database migration and population, powerful declarative database query engine, full stack type-safety, client library generators and much more.
What is Gaudi?
Gaudi is a declarative, domain specific and type-safe programming language that makes it easier to build and maintain web application backends. Write your backend using declarative language and focus on what needs to be done, instead of how. This approach allows Gaudi to understand the intention behind your code and lets it write optimized code and automate a lot of the work around it.
Let's see how it all works ...
Describe your models
Create a simple text file in your favorite IDE (eg. bookreviews.gaudi
) and describe your data models and relationships between them using intuitive, human-readable and database agnostic language. Enrich your models through first-class support for computed fields, custom query relationships or even custom code hooks.
Query your data
Query your data using powerful, expressive and type-safe query language. Traverse, filter, slice and transform your data as needed and Gaudi will produce a custom query plan optimized for maximum performance.
Expose your APIs
Expose your data through default CRUD endpoints with a single line of Gaudi code. Customize default behaviour or go beyond CRUD and write completely custom endpoints using full declarativeness and type-safety of Gaudi or even custom code hooks.
Build your app
Gaudi analyzes your code and automatically generates the optimized code and SQL queries laser-focused on your app's specific needs and runs it in a highly optimized web server environment with focus on performance and security. Your app automatically comes with things like logging, error handling, authorization and much more.
Run your code through Gaudi compiler and it will instantly build your app and you can run it, publish it or deploy it directly to your server. And that's it! :)
Tools that supercharge your development
Gaudi comes with a set of modern development tools that promote best practices aimed at improving your productivity and development experience.
Let's go through some of them ...
Faster project setup and development
Most of Gaudi's tools are easily available through Gaudi CLI. Whether you want to setup your next project, re/build your existing Gaudi project or start developing in development mode ... all available with one line of Gaudi CLI.
Easy database migrations
Gaudi offers first-class database migration support both in development and in production.
Quickly iterate your ideas, add new or change existing models, run tests or even switch between Git branches with completely different database models ... Gaudi will make sure your database is always in sync with current model and populated with appropriate data.
No database hassle, just code!
Once satisfied with your changes, create migration scripts and apply them to your production at your own time and convenience.
Type-safe APIs and client libraries
Gaudi automatically generates OpenAPI specifications and client libraries that are type-safe, self-documented and seamlessly integrate into your frontend app, another backend API, development tools or third party integrations.