When I embarked on my journey to research the best tools for an upcoming application project in my solopreneur business, my focus naturally gravitated towards a critical aspect of any application: the database. How to seamlessly manage data, integrate it into my app, ensure scalability, and abstract complexities has been a challenge I’ve encountered throughout my nearly two decades career in software development. These challenges included grappling with rigid abstractions, leaky abstractions, technology lock-in, unwieldy dependencies, and increased overhead. In some instances, maintaining the database, its model, and the ORM consumed nearly as much time as creating value or fixing bugs in the application itself.
So, for my solo project, I was determined to avoid the complexities of ORM or raw SQL solutions. Then, through a serendipitous encounter on LinkedIn, I stumbled upon Neurelo. Upon exploring and experimenting with it, I became convinced that Neurelo was the ideal solution for my project. The value it offered “out of the box” left me with a profound sense of “what a time to be alive.” I hope that by the time you finish reading this series and try it for yourself, the decision to adopt it will be as easy for you as it was for me.
Side Note: For transparency, it’s worth to note that while this blog series is sponsored by Neurelo, they have explicitly encouraged me to provide my unfiltered opinions and expertise, without any specific directives on branding, tone, or voice. Their influence is limited to ensuring accuracy and providing editorial feedback.
By the end of this blog post you will have a high-level understanding of what Neurelo does, what features it has and how you can make use of these in your development workflows.
In a recent post, Neurelo’s founders made a compelling case for the need of database abstractions and data access platforms in modern application architecture. They argued that today’s applications require reliable, consistent, high-performing APIs and flexible, non-restrictive data abstractions. Traditional solutions, such as ORMs, often result in cumbersome integrations, forcing teams to “fight” against their limitations and making migrations challenging. Additionally, teams must grapple with the complexities of deploying APIs, operational decisions, maintenance, security, and scalability. Neurelo emerges as a comprehensive, developer-friendly solution to these challenges, perfectly suited for today’s fast-paced and highly competitive software development environment.
Before we delve deeper into the practical use and power of the platform, it’s helpful we go over the capabilities and features Neurelo offers out of the box.
When you onboard your data sources into Neurelo, your schema is automatically represented declaratively, in either YAML or JSON, as the “Neurelo Schema.” This includes essential metadata, such as data types, constraints, and relationships. Neurelo also offers a built-in and fully integrated version control system for this feature, ensuring flexibility and agility in data model modifications, as we’ll delve into in subsequent posts.
One of Neurelo’s most significant features is its ability to instantly generate a full-fledged REST or GraphQL API for your data sources, without any action required on your part. This API seamlessly replaces the need for ORMs, raw SQL queries, or abstraction libraries like SQLAlchemy in your application code.
If your data and thus your application are complex enough, documenting each API endpoint is an error prone and time consuming chore. Much like the Data API mentioned above, the documentation thereof will be generated with no action required on your end for each version you deploy (more on this later).
While Neurelo’s auto-generated APIs are robust, there may be instances where custom data needs or “complex queries’’ arise. Neurelo simplifies the process of customizing and extending the data API, creating endpoints for these without additional effort on your part. Furthermore, Neurelo incorporates GPT to aid in generating custom and complex queries based on your data model. You can then test the query immediately in the Query Playground before incorporating it in your definitions and API.
Deploying APIs, especially in a production environment, can be operationally intensive, involving complex decisions and trade-offs. Neurelo streamlines this process to a great extent. By simply specifying a schema commit and data source, Neurelo handles the rest, rapidly and securely deploying the API without requiring you to worry about containers, server software, security, or versioning.
In the ever-evolving landscape of application development, teams face a variety of challenges. For example, the issues surrounding the integration of ORMs, database migrations, and operational burdens often “kill” projects or take such substantial resources so as to rob teams of valuable time and effort. With features such as automatic API generation, seamless documentation, customizable endpoints, fully integrated git-like version control system, and simplified deployment processes, Neurelo is key to developers. If you wish to check it out for yourself, please join their waitlist.
In the next installment, we will delve into the details and capabilities of Neurelo and how they can supercharge your development.