<?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: Dominque Terry</title>
    <description>The latest articles on DEV Community by Dominque Terry (@appavelidev).</description>
    <link>https://dev.to/appavelidev</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%2F3051389%2F6b4718f1-9c2d-4554-910b-e0a62c1f3525.png</url>
      <title>DEV Community: Dominque Terry</title>
      <link>https://dev.to/appavelidev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/appavelidev"/>
    <language>en</language>
    <item>
      <title>Appaveli Mode: Shipping Every 7 Days Like Makaveli</title>
      <dc:creator>Dominque Terry</dc:creator>
      <pubDate>Tue, 06 May 2025 15:11:30 +0000</pubDate>
      <link>https://dev.to/appavelidev/appaveli-mode-shipping-every-7-days-like-makaveli-5a1n</link>
      <guid>https://dev.to/appavelidev/appaveli-mode-shipping-every-7-days-like-makaveli-5a1n</guid>
      <description>&lt;h2&gt;
  
  
  Appaveli Mode: Shipping Every 7 Days Like Makaveli
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How Tupac’s 7-Day Theory Album Inspired My Solo Developer Sprint Strategy
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe9x0eaerdeumm9s4789d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe9x0eaerdeumm9s4789d.png" alt="Image description" width="678" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In 1996, Tupac recorded &lt;em&gt;The Don Killuminati: The 7 Day Theory&lt;/em&gt; under the alias &lt;strong&gt;Makaveli&lt;/strong&gt;—a raw, powerful album finished in just &lt;strong&gt;seven days&lt;/strong&gt;. He wrote and recorded every track in three days and spent the next four mixing and mastering it. No excuses. No delays. Just focused output with lasting impact.&lt;/p&gt;

&lt;p&gt;That energy inspired what I now call &lt;strong&gt;Appaveli Mode&lt;/strong&gt;—a mindset where I build, refine, and ship something every 7 days as a solo developer.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why the Name “Appaveli”?
&lt;/h2&gt;

&lt;p&gt;By day, I’m the &lt;strong&gt;Director of Software Engineering at a sports tech company&lt;/strong&gt;—leading teams, architecting scalable solutions, and driving delivery at the enterprise level.&lt;/p&gt;

&lt;p&gt;But outside the 9–5, I step into &lt;strong&gt;Appaveli Mode&lt;/strong&gt;—a solo developer mindset inspired by Tupac’s Makaveli era.&lt;/p&gt;

&lt;p&gt;When I started releasing apps weekly, &lt;strong&gt;hip-hop legend Def Jef&lt;/strong&gt;—a pioneering MC and producer known for his work in the golden era of hip-hop—gave me the nickname Appaveli, saying my work ethic reminded him of 2Pac during The 7 Day Theory era.&lt;/p&gt;

&lt;p&gt;That comparison stuck — and so did the mindset.&lt;/p&gt;

&lt;p&gt;Makaveli wasn’t just a stage name—it symbolized &lt;strong&gt;relentless focus&lt;/strong&gt;, raw creative output, and urgency. I started channeling that same energy into how I build software.&lt;/p&gt;

&lt;p&gt;Now I’m stepping back into that mode—taking a break from dating and shutting out distractions to focus entirely on execution and momentum. That’s why my company is named &lt;strong&gt;AppaveliTech Solutions&lt;/strong&gt;: it’s not just about building apps. It’s about building legacy.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why 7-Day Sprints?
&lt;/h2&gt;

&lt;p&gt;Most dev teams run on 2-week sprints. But as a solo dev, that rhythm can feel sluggish and bloated. I needed something sharper—leaner. &lt;/p&gt;

&lt;p&gt;That’s when I looked to Makaveli.&lt;/p&gt;

&lt;p&gt;Inspired by Tupac’s 7-day album sprint, I built a structure where I start every Monday and ship by Sunday. One sprint. One outcome. No excuses.&lt;/p&gt;

&lt;p&gt;Here’s why it works:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Urgency breeds momentum.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decisions get made faster.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Perfection gives way to progress.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  My Sprint Structure
&lt;/h2&gt;

&lt;p&gt;Each sprint follows this cadence:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Day&lt;/th&gt;
&lt;th&gt;Focus&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Monday&lt;/td&gt;
&lt;td&gt;Sprint planning + backlog grooming&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tuesday&lt;/td&gt;
&lt;td&gt;Build core features&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Wednesday&lt;/td&gt;
&lt;td&gt;Development + small test cycles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Thursday&lt;/td&gt;
&lt;td&gt;UI polish + refactor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Friday&lt;/td&gt;
&lt;td&gt;Final dev + prep release notes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Saturday&lt;/td&gt;
&lt;td&gt;Code freeze + test + deploy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sunday&lt;/td&gt;
&lt;td&gt;Ship + reflect + light grooming&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Tools I use:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Jira&lt;/strong&gt; for sprint planning and dev tasks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Todoist&lt;/strong&gt; for personal routines and non-dev priorities&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Staying in Appaveli Mode
&lt;/h2&gt;

&lt;p&gt;Makaveli was more than a name—it was a &lt;strong&gt;creative philosophy&lt;/strong&gt;. Lock in. Shut out distractions. Let the work speak.&lt;/p&gt;

&lt;p&gt;I’m not just building software—I’m building like I’m running out of time. This mindset fuels consistency, intensity, and a higher standard.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I’ve Shipped So Far
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;a href="https://github.com/Appaveli/appaveli-cli" rel="noopener noreferrer"&gt;Appaveli CLI&lt;/a&gt;: A code scaffolding tool for Java devs
&lt;/li&gt;
&lt;li&gt;✅ Sprint-based blog posts and retrospectives
&lt;/li&gt;
&lt;li&gt;✅ Backend features across my Apps and other internal tools
&lt;/li&gt;
&lt;li&gt;✅ Early release features for DAO and domain generation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each week builds momentum. Each Sunday is a checkpoint.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Whether you're making albums or writing code—&lt;strong&gt;create with urgency&lt;/strong&gt;. The Makaveli mindset taught me that done is better than perfect, and focused energy can change your output forever.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't wait. Create. Ship. Repeat.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Inspired by Makaveli. Built by Appaveli.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
      <category>development</category>
    </item>
    <item>
      <title>Appaveli Mode: Where Control Meets Code</title>
      <dc:creator>Dominque Terry</dc:creator>
      <pubDate>Mon, 05 May 2025 13:31:42 +0000</pubDate>
      <link>https://dev.to/appavelidev/appaveli-mode-where-control-meets-code-5g1i</link>
      <guid>https://dev.to/appavelidev/appaveli-mode-where-control-meets-code-5g1i</guid>
      <description>&lt;p&gt;&lt;strong&gt;“I don’t just write code. I build with intention. That’s Appaveli Mode.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiwvtwh99etgpqm5jthzp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiwvtwh99etgpqm5jthzp.png" alt="Image description" width="574" height="309"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There’s a difference between shipping fast and building right. Between stacking libraries and understanding every line. I’ve been in this game long enough to see the hype cycles — new frameworks, new shortcuts, new silver bullets.&lt;/p&gt;

&lt;p&gt;Most of them overpromise. Many rot.&lt;/p&gt;

&lt;p&gt;That’s why I built Appaveli Mode — my personal philosophy for engineering with discipline, performance, and purpose.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Why I Created Appaveli Mode&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
I got tired of bloated builds, fragile codebases, and watching devs surrender control to tools they barely understood.&lt;/p&gt;

&lt;p&gt;I wanted freedom, not friction. Power, not padding.&lt;/p&gt;

&lt;p&gt;So I stripped it all down.&lt;/p&gt;

&lt;p&gt;Appaveli Mode isn’t about being anti-framework — it’s about being pro-clarity. Knowing exactly what’s under the hood. Owning every layer.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;The Core Tenets&lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Control Over Convenience&lt;br&gt;
If I can write it myself, I will. I don’t let libraries decide my architecture. I do.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Native &amp;gt; Frameworks&lt;br&gt;
Flutter? Useful. But when precision matters, I go Swift or Kotlin. I don’t fear the low-level. I own it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Performance-First Thinking&lt;br&gt;
Lightweight code. Direct APIs. Fast, clean, and scalable from day one.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Build Tools That Serve You&lt;br&gt;
I don’t wait for better scaffolding — I make it. Appaveli CLI, AppaveliCore — all built to move how I move.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;*&lt;em&gt;What It Looks Like in Practice&lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;My Java stack runs on AppaveliCore — no Spring, just pure, efficient code with JWT and encryption built in.&lt;/li&gt;
&lt;li&gt;My mobile projects use native codebases when it counts. I don’t settle for lowest common denominators.&lt;/li&gt;
&lt;li&gt;I automate the boring with Appaveli CLI, generating DAOs, domain classes, and utilities with zero fluff.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*&lt;em&gt;Appaveli Mode in Real Life&lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It’s more than tech. Appaveli Mode is my 5AM gym grind. My nutrition game. My discipline when no one’s watching.&lt;br&gt;
I don’t just apply it to code — it’s how I operate across life.&lt;/p&gt;

&lt;p&gt;But there’s another layer — a deeper shift.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;The Appaveli Manifesto&lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Core Rules of Appaveli Mode&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;I release something every 7 days.&lt;br&gt;
It doesn’t have to be a full app — a feature, a package, a tool, a blog post, or even a design counts.&lt;br&gt;
My consistency is my therapy. My output is how I process.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I don’t chase, entertain, or invest in anything that drains me.&lt;br&gt;
This season is sacred. My focus is my freedom.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I follow a daily commitment ritual.&lt;br&gt;
A quote. A warm-up. A build session.&lt;br&gt;
Like an MC in the booth — except my verses are code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I turn pain into product.&lt;br&gt;
I don’t suppress what I feel — I convert it into something that outlives the moment.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I’m not here to impress — I’m here to express.&lt;br&gt;
I don’t need attention. I need execution. I bring heat, not hype.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Final Word&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Appaveli Mode builds better software because it builds better engineers.&lt;/p&gt;

&lt;p&gt;If you can’t rely on tools, you learn to rely on yourself. That’s the edge.&lt;/p&gt;

&lt;p&gt;So if this resonates? Step in.&lt;br&gt;
Start small.&lt;br&gt;
Ditch one crutch. Write one thing yourself. Sharpen one part of your stack. Strengthen one part of your discipline.&lt;/p&gt;

&lt;p&gt;That’s Appaveli Mode.&lt;/p&gt;

&lt;p&gt;No gimmicks. Just growth.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>webdev</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Frameworks Aren’t the Problem — Our Dependency on Them Is</title>
      <dc:creator>Dominque Terry</dc:creator>
      <pubDate>Thu, 24 Apr 2025 00:01:42 +0000</pubDate>
      <link>https://dev.to/appavelidev/frameworks-arent-the-problem-our-dependency-on-them-is-5g12</link>
      <guid>https://dev.to/appavelidev/frameworks-arent-the-problem-our-dependency-on-them-is-5g12</guid>
      <description>&lt;p&gt;I often get pushback when I share my philosophy: I prefer native development for mobile apps and use core Java without Spring for the backend. Not because I think frameworks are terrible, quite the opposite, but because I think we’ve grown too dependent on them.&lt;/p&gt;

&lt;p&gt;This isn’t a hot take or a rejection of modern development. It’s a reflection on where we are as an industry, and where I believe we should be more intentional.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why I Go Native and Framework-Free&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I build mobile apps, I choose native: SwiftUI for iOS, Kotlin for Android. No Flutter, no cross-platform abstractions. Native gives me fine-grained control over performance, UI/UX, and system APIs. I don’t have to wait for the framework to catch up.  I build what I need, when I need it.&lt;/p&gt;

&lt;p&gt;On the backend, I use core Java with JDBC, and I built my own internal framework. It handles the essentials such as JWT auth, encrypted passwords, DAO generation without the bulk of Spring Boot or Hibernate. I get full visibility into what’s happening under the hood, and I can optimize for my own use cases, not someone else’s assumptions.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;I’m Not Anti-Framework&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Let me be clear: I’m not against frameworks.&lt;/p&gt;

&lt;p&gt;Spring Boot is incredible for bootstrapping projects. Flutter is a game-changer for MVPs. Laravel, React, Express, etc. All of these have saved time, enabled startups, and leveled the playing field for developers around the world.&lt;/p&gt;

&lt;p&gt;But they are tools, not crutches.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Problem: Blind Dependence&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Too often, I see developers rely on frameworks they don’t truly understand. They ship fast, but they can’t explain what’s happening behind the scenes. They use annotations, DI containers, ORM layers and when something breaks, they’re lost in a maze of magic.&lt;/p&gt;

&lt;p&gt;I’ve worked on codebases where performance bottlenecks were caused by lazy loading in Hibernate, or where a small Flutter plugin bug held back an entire release. In those moments, the abstraction becomes the problem. And without the foundational knowledge, debugging turns into guesswork.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Build Your Own Tools (Even If You Don’t Use Them)&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
When I built my internal backend framework, it wasn’t because I wanted to reinvent the wheel. It was because I wanted to understand the wheel and how it’s built, where it breaks, and how to shape it for my needs. I engineered an open-source tool, &lt;a href="https://github.com/Appaveli/appaveli-cli" rel="noopener noreferrer"&gt;appaveli-cli&lt;/a&gt;, which is a lightweight Java-based code generation tool that helps you scaffold DAO, Domain model classes, JDBC connections, and more. Appaveli-cli generates boilerplate code based on custom templates. &lt;/p&gt;

&lt;p&gt;That experience gave me more confidence as an engineer than any framework could.&lt;/p&gt;

&lt;p&gt;Even if you use Spring, write a barebones REST API in core Java. Even if you love Flutter, try building the same screen in native Swift or Kotlin. That knowledge pays dividends not just in code quality, but in leadership, architecture decisions, and developer growth.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Intentional Engineering&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Frameworks should be chosen with intention, not by default. They should accelerate what you already understand not replace your need to understand it.&lt;/p&gt;

&lt;p&gt;I’m not saying everyone should ditch Spring Boot or rewrite their apps in native code. I’m saying: don’t forget how to code without them. Your career, your team, and your software will be better for it.&lt;/p&gt;

</description>
      <category>softwareengineering</category>
      <category>programming</category>
      <category>java</category>
      <category>mobile</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Dominque Terry</dc:creator>
      <pubDate>Wed, 16 Apr 2025 19:54:21 +0000</pubDate>
      <link>https://dev.to/appavelidev/-3cbm</link>
      <guid>https://dev.to/appavelidev/-3cbm</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/appavelidev/introducing-appaveli-cli-instantly-generate-java-dao-and-domain-classes-from-your-terminal-26me" class="crayons-story__hidden-navigation-link"&gt;🚀 Introducing Appaveli CLI: Instantly Generate Java DAO and Domain Classes from Your Terminal&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/appavelidev" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3051389%2F6b4718f1-9c2d-4554-910b-e0a62c1f3525.png" alt="appavelidev profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/appavelidev" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Dominque Terry
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Dominque Terry
                
              
              &lt;div id="story-author-preview-content-2407482" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/appavelidev" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3051389%2F6b4718f1-9c2d-4554-910b-e0a62c1f3525.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Dominque Terry&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/appavelidev/introducing-appaveli-cli-instantly-generate-java-dao-and-domain-classes-from-your-terminal-26me" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 15 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/appavelidev/introducing-appaveli-cli-instantly-generate-java-dao-and-domain-classes-from-your-terminal-26me" id="article-link-2407482"&gt;
          🚀 Introducing Appaveli CLI: Instantly Generate Java DAO and Domain Classes from Your Terminal
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/java"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;java&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/softwareengineering"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;softwareengineering&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
            &lt;a href="https://dev.to/appavelidev/introducing-appaveli-cli-instantly-generate-java-dao-and-domain-classes-from-your-terminal-26me#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              2&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>programming</category>
      <category>java</category>
      <category>webdev</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>🚀 Introducing Appaveli CLI: Instantly Generate Java DAO and Domain Classes from Your Terminal</title>
      <dc:creator>Dominque Terry</dc:creator>
      <pubDate>Tue, 15 Apr 2025 00:08:42 +0000</pubDate>
      <link>https://dev.to/appavelidev/introducing-appaveli-cli-instantly-generate-java-dao-and-domain-classes-from-your-terminal-26me</link>
      <guid>https://dev.to/appavelidev/introducing-appaveli-cli-instantly-generate-java-dao-and-domain-classes-from-your-terminal-26me</guid>
      <description>&lt;p&gt;As a Java engineer, one of the most repetitive tasks is writing boilerplate DAO and domain classes — especially when you’re not using heavy frameworks like Spring or Hibernate.&lt;/p&gt;

&lt;p&gt;That’s why I built Appaveli CLI— a lightweight, Dart-powered command-line tool designed to automate the creation of Java DAO and domain classes. It’s clean, fast, and perfect for developers who want full control over their backend architecture without sacrificing productivity.&lt;/p&gt;

&lt;p&gt;✨ &lt;strong&gt;What Is Appaveli CLI?&lt;/strong&gt;&lt;br&gt;
Appaveli CLI is a developer tool I engineered, crafted for solo developers, startups, or lean teams who don’t want to over-engineer their backend.&lt;/p&gt;

&lt;p&gt;With a single command, Appaveli CLI scaffolds fully-structured Java domain and DAO classes that follow clean code principles and work with basic JDBC.&lt;/p&gt;

&lt;p&gt;No Spring. No Hibernate. No magic. Just code you can trust and control.&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;Why I Built It&lt;/strong&gt;&lt;br&gt;
I wanted a way to rapidly generate backend code that could plug directly into my custom lightweight Java framework, without the bloat of external libraries.&lt;/p&gt;

&lt;p&gt;I also wanted to avoid writing the same getters, setters, and JDBC statements over and over, and over, again.&lt;/p&gt;

&lt;p&gt;⚙️ &lt;strong&gt;How It Works&lt;/strong&gt;&lt;br&gt;
Once installed, you can use the CLI like this:&lt;/p&gt;
&lt;h2&gt;
  
  
  Generate a Java domain class
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`java -jar target/appaveli-cli-jar-with-dependencies.jar generate-domain \
 - entity User \
 - package com.example.domain \
 - fields "id:int,username:String,email:String,active:boolean"`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Generate a matching DAO class with JDBC CRUD
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;java -jar target/appaveli-cli-jar-with-dependencies.jar generate-dao \
 - entity User \
 - package com.example.dao
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;It will create files:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7bip4lxggv1fo4bgp2y2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7bip4lxggv1fo4bgp2y2.png" alt="Image description" width="337" height="313"&gt;&lt;/a&gt;&lt;br&gt;
🧠 &lt;strong&gt;What Gets Generated&lt;/strong&gt;&lt;br&gt;
User Domain:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;package com.example.domain;

public class User {
    private int id;
    private String username;
    private String email;
    private boolean active;


    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public boolean getActive() {
        return active;
    }

    public void setActive(boolean active) {
        this.active = active;
    }


    @Override
    public String toString() {
        return "User{" +
                "id='" + id + '\'' +
                "username='" + username + '\'' +
                "email='" + email + '\'' +
                "active='" + active + '\'' + '}';
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;UserDao:

package com.example.dao;

import java.util.List;
import tech.appavelitech.domain.User;

public interface UserDao {
    void save(User entity);
    User findById(int id);
    List&amp;lt;User&amp;gt; findAll();
    void update(User entity);
    void delete(int id);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;UserDaoImpl:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;package com.example.dao;

import java.util.*;
import tech.appavelitech.domain.User;

public class UserDaoImpl implements UserDao {

    @Override
    public void save(User entity) {
        // TODO: Implement
    }

    @Override
    public User findById(int id) {
        // TODO: Implement
        return null;
    }

    @Override
    public List&amp;lt;User&amp;gt; findAll() {
        // TODO: Implement
        return new ArrayList&amp;lt;&amp;gt;();
    }

    @Override
    public void update(User entity) {
        // TODO: Implement
    }

    @Override
    public void delete(int id) {
        // TODO: Implement
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🛠️ &lt;strong&gt;How to Install&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/appavelitech/appaveli-cli.git
cd appaveli-cli
mvn clean install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also follow the README on &lt;a href="https://github.com/Appaveli/appaveli-cli" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;🗣️ &lt;strong&gt;Let’s Collaborate&lt;/strong&gt;&lt;br&gt;
If this sounds useful to you:&lt;/p&gt;

&lt;p&gt;Drop a ⭐ on the GitHub &lt;a href="https://github.com/Appaveli/appaveli-cli" rel="noopener noreferrer"&gt;repo&lt;/a&gt;&lt;br&gt;
Try it out and give feedback&lt;br&gt;
Hit me up if you’d like to contribute or suggest a feature&lt;/p&gt;

</description>
      <category>programming</category>
      <category>java</category>
      <category>webdev</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
