<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: hbaswapu</title>
    <description>The latest articles on DEV Community by hbaswapu (@hbaswapu).</description>
    <link>https://dev.to/hbaswapu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3875718%2Fa5724959-3e18-4ad4-82c8-b407d3e4e63a.png</url>
      <title>DEV Community: hbaswapu</title>
      <link>https://dev.to/hbaswapu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hbaswapu"/>
    <language>en</language>
    <item>
      <title>I Found a Tool That Generates a Complete .NET 8 or Java Spring Boot API From SQL Schema in 30 Seconds</title>
      <dc:creator>hbaswapu</dc:creator>
      <pubDate>Mon, 25 May 2026 22:03:39 +0000</pubDate>
      <link>https://dev.to/hbaswapu/i-found-a-tool-that-generates-a-complete-net-8-or-java-spring-boot-api-from-sql-schema-in-30-3n00</link>
      <guid>https://dev.to/hbaswapu/i-found-a-tool-that-generates-a-complete-net-8-or-java-spring-boot-api-from-sql-schema-in-30-3n00</guid>
      <description>&lt;p&gt;I've been building enterprise APIs &lt;br&gt;
for 15 years.&lt;/p&gt;

&lt;p&gt;Every project starts the same way.&lt;/p&gt;

&lt;p&gt;Set up the project structure. Write &lt;br&gt;
the controllers. Wire up the services. &lt;br&gt;
Configure the DbContext. Write migration &lt;br&gt;
scripts. Set up Swagger. Add error &lt;br&gt;
handling middleware. Configure CI/CD. &lt;br&gt;
Write the Dockerfile.&lt;/p&gt;

&lt;p&gt;Two days minimum. Every single time.&lt;/p&gt;

&lt;p&gt;Last week I stumbled across a tool &lt;br&gt;
called ScaffoldBridge that changed &lt;br&gt;
how I think about project setup.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://scaffoldbridge.io/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;scaffoldbridge.io&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;/h2&gt;
&lt;h2&gt;
  
  
  What It Does
&lt;/h2&gt;

&lt;p&gt;You paste a SQL schema:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;Products&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="n"&gt;Id&lt;/span&gt;          &lt;span class="nb"&gt;INT&lt;/span&gt;           &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;ProductName&lt;/span&gt; &lt;span class="n"&gt;NVARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;Price&lt;/span&gt;       &lt;span class="nb"&gt;DECIMAL&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;IsActive&lt;/span&gt;    &lt;span class="nb"&gt;BIT&lt;/span&gt;           &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;CreatedAt&lt;/span&gt;   &lt;span class="n"&gt;DATETIME2&lt;/span&gt;     &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;Categories&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="n"&gt;Id&lt;/span&gt;   &lt;span class="nb"&gt;INT&lt;/span&gt;          &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="n"&gt;NVARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You choose your stack (.NET 8 or &lt;br&gt;
Java Spring Boot) and click Generate.&lt;/p&gt;

&lt;p&gt;30 seconds later you have a complete &lt;br&gt;
project ZIP.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's in the ZIP
&lt;/h2&gt;

&lt;p&gt;For .NET 8:&lt;/p&gt;

&lt;p&gt;YourProject/&lt;br&gt;
├── Controllers/&lt;br&gt;
│   └── ProductsController.cs&lt;br&gt;
├── Services/&lt;br&gt;
│   ├── IProductService.cs&lt;br&gt;
│   └── ProductService.cs&lt;br&gt;
├── Repositories/&lt;br&gt;
│   ├── IProductRepository.cs&lt;br&gt;
│   └── ProductRepository.cs&lt;br&gt;
├── Models/&lt;br&gt;
│   └── Product.cs&lt;br&gt;
├── DTOs/&lt;br&gt;
│   └── ProductDto.cs&lt;br&gt;
├── Data/&lt;br&gt;
│   └── AppDbContext.cs&lt;br&gt;
├── Middleware/&lt;br&gt;
│   └── ErrorHandlingMiddleware.cs&lt;br&gt;
├── database/&lt;br&gt;
│   ├── create_tables.sql&lt;br&gt;
│   ├── drop_tables.sql&lt;br&gt;
│   └── seed_data.sql&lt;br&gt;
├── .github/workflows/&lt;br&gt;
│   └── build.yml&lt;br&gt;
├── Dockerfile&lt;br&gt;
├── .dockerignore&lt;br&gt;
└── Program.cs&lt;/p&gt;

&lt;p&gt;For Java Spring Boot (Maven):&lt;br&gt;
your-project/&lt;br&gt;
├── src/main/java/com/company/api/&lt;br&gt;
│   ├── controller/&lt;br&gt;
│   │   └── ProductController.java&lt;br&gt;
│   ├── service/&lt;br&gt;
│   │   ├── ProductService.java&lt;br&gt;
│   │   └── ProductServiceImpl.java&lt;br&gt;
│   ├── repository/&lt;br&gt;
│   │   └── ProductRepository.java&lt;br&gt;
│   ├── model/&lt;br&gt;
│   │   └── Product.java&lt;br&gt;
│   ├── dto/&lt;br&gt;
│   │   └── ProductDto.java&lt;br&gt;
│   └── ApiApplication.java&lt;br&gt;
├── src/main/resources/&lt;br&gt;
│   └── application.properties&lt;br&gt;
├── database/&lt;br&gt;
│   └── create_tables.sql&lt;br&gt;
├── .github/workflows/&lt;br&gt;
│   └── build.yml&lt;br&gt;
├── Dockerfile&lt;br&gt;
├── .dockerignore&lt;br&gt;
└── pom.xml&lt;/p&gt;

&lt;p&gt;Not stubs. Not empty methods. &lt;br&gt;
Working CRUD that runs immediately.&lt;/p&gt;




&lt;h2&gt;
  
  
  The GitHub Push Feature
&lt;/h2&gt;

&lt;p&gt;This is what impressed me most.&lt;/p&gt;

&lt;p&gt;After generating you can push &lt;br&gt;
directly to GitHub from the UI.&lt;/p&gt;

&lt;p&gt;It:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Creates the repo structure&lt;/li&gt;
&lt;li&gt;Pushes all files in one commit&lt;/li&gt;
&lt;li&gt;Polls the GitHub Actions workflow&lt;/li&gt;
&lt;li&gt;Shows build status in real time&lt;/li&gt;
&lt;li&gt;Confirms green build&lt;/li&gt;
&lt;li&gt;Docker image pushed to ghcr.io&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You go from SQL schema to a verified, &lt;br&gt;
building, Docker-ready GitHub repo &lt;br&gt;
without touching your terminal.&lt;/p&gt;




&lt;h2&gt;
  
  
  How It Compares to OpenAPI Generator
&lt;/h2&gt;

&lt;p&gt;I've used OpenAPI Generator for years. &lt;br&gt;
Here's the honest comparison:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;ScaffoldBridge&lt;/th&gt;
&lt;th&gt;OAG&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;SQL input&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenAPI input&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Working code&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌ (stubs)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Web UI&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌ (CLI)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub push&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Docker&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CI/CD&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;.NET 8&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Java&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;OpenAPI Generator is great for &lt;br&gt;
generating SDKs in 50+ languages.&lt;br&gt;
ScaffoldBridge is better for getting &lt;br&gt;
a complete server-side project running.&lt;/p&gt;

&lt;p&gt;Different tools for different jobs.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Visual Builder
&lt;/h2&gt;

&lt;p&gt;There's also a visual API builder &lt;br&gt;
where you design entities without &lt;br&gt;
writing SQL or OpenAPI.&lt;/p&gt;

&lt;p&gt;Add entities, define properties, &lt;br&gt;
set relationships — then generate &lt;br&gt;
directly from the visual design.&lt;/p&gt;

&lt;p&gt;Useful for early-stage projects &lt;br&gt;
where the schema isn't defined yet.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Coming
&lt;/h2&gt;

&lt;p&gt;They're adding MCP server generation.&lt;/p&gt;

&lt;p&gt;Same concept — paste your schema, &lt;br&gt;
get a hosted MCP endpoint.&lt;/p&gt;

&lt;p&gt;Claude Desktop, ChatGPT, and Cursor &lt;br&gt;
can connect to it immediately.&lt;/p&gt;

&lt;p&gt;Your AI tools understand your API &lt;br&gt;
design before you write a single &lt;br&gt;
line of backend code.&lt;/p&gt;

&lt;p&gt;That's actually a big deal for &lt;br&gt;
AI-first development workflows.&lt;/p&gt;




&lt;h2&gt;
  
  
  Pricing
&lt;/h2&gt;

&lt;p&gt;Free tier: 5 generations/month&lt;br&gt;
Pro: $49/month for unlimited&lt;/p&gt;

&lt;p&gt;Worth trying the free tier first.&lt;/p&gt;

&lt;p&gt;scaffoldbridge.io&lt;/p&gt;




&lt;h2&gt;
  
  
  My Honest Take
&lt;/h2&gt;

&lt;p&gt;It won't replace a good developer.&lt;br&gt;
The generated code is a starting &lt;br&gt;
point not a finished product.&lt;/p&gt;

&lt;p&gt;But it eliminates the setup tax &lt;br&gt;
every project pays.&lt;/p&gt;

&lt;p&gt;If you spend 2 days on boilerplate &lt;br&gt;
per project and run 10 projects &lt;br&gt;
a year that's 20 days.&lt;/p&gt;

&lt;p&gt;ScaffoldBridge turns that into &lt;br&gt;
5 minutes.&lt;/p&gt;

&lt;p&gt;The time you save goes into &lt;br&gt;
actual feature development.&lt;/p&gt;

&lt;p&gt;That's the value proposition.&lt;/p&gt;




&lt;p&gt;Have you tried any scaffold tools &lt;br&gt;
for .NET or Java?&lt;/p&gt;

&lt;p&gt;What's your current approach to &lt;br&gt;
eliminating boilerplate?&lt;/p&gt;

&lt;p&gt;Drop your thoughts in the comments.&lt;/p&gt;

</description>
      <category>java</category>
      <category>dotnet</category>
      <category>api</category>
      <category>backend</category>
    </item>
  </channel>
</rss>
