<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>My First Application on Palmyra</title>
    <link>https://palmyra.dev/docs/employee-app/</link>
    <description>Recent content in My First Application on Palmyra</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://palmyra.dev/docs/employee-app/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Concepts</title>
      <link>https://palmyra.dev/docs/employee-app/concepts/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://palmyra.dev/docs/employee-app/concepts/</guid>
      <description>&lt;h1 id=&#34;concepts--what-were-actually-building&#34;&gt;Concepts — what we&amp;rsquo;re actually building&lt;a class=&#34;anchor&#34; href=&#34;#concepts--what-were-actually-building&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;This is the no-jargon tour. Whether you&amp;rsquo;re a product owner trying to understand what the team is building, a Java developer new to the frontend, or a React developer new to Spring, the vocabulary below is all you need to make sense of the rest of the guide.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-30-second-version&#34;&gt;The 30-second version&lt;a class=&#34;anchor&#34; href=&#34;#the-30-second-version&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;A Palmyra app has &lt;strong&gt;four moving parts&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A &lt;strong&gt;model&lt;/strong&gt; — a Java class that describes one kind of record (a Department, an Employee).&lt;/li&gt;&#xA;&lt;li&gt;A &lt;strong&gt;handler&lt;/strong&gt; — a small Java class that says &amp;ldquo;publish this model as an HTTP endpoint.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;A &lt;strong&gt;store&lt;/strong&gt; — a JavaScript helper that knows how to call that endpoint from the browser.&lt;/li&gt;&#xA;&lt;li&gt;A &lt;strong&gt;grid&lt;/strong&gt; or &lt;strong&gt;form&lt;/strong&gt; — a React component that reads from a store and puts rows on the screen.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;You tag the Java classes with a few annotations; Palmyra fills in the SQL, the URL routing, the paging, the JSON parsing, and the HTTP calls. You write the business logic and the screens — not the plumbing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Recap and next steps</title>
      <link>https://palmyra.dev/docs/employee-app/next-steps/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://palmyra.dev/docs/employee-app/next-steps/</guid>
      <description>&lt;h1 id=&#34;recap-and-next-steps&#34;&gt;Recap and next steps&lt;a class=&#34;anchor&#34; href=&#34;#recap-and-next-steps&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;You&amp;rsquo;ve built a two-entity admin console end-to-end: annotated schema on the backend, Mantine screens on the frontend, with a foreign-key lookup connecting the two. This page sums up what&amp;rsquo;s wired and points at where to take the app next.&lt;/p&gt;&#xA;&lt;h2 id=&#34;whats-wired-end-to-end&#34;&gt;What&amp;rsquo;s wired, end to end&lt;a class=&#34;anchor&#34; href=&#34;#whats-wired-end-to-end&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;UI&lt;/th&gt;&#xA;          &lt;th&gt;API call&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Department grid&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;GET /api/department?...&lt;/code&gt; via &lt;code&gt;SummaryGrid&lt;/code&gt;&amp;rsquo;s internal grid store&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Department view&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;GET /api/department/{id}&lt;/code&gt; via &lt;code&gt;PalmyraViewForm&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Department new / save&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;POST /api/department&lt;/code&gt; / &lt;code&gt;POST /api/department/{id}&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Employee grid&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;GET /api/employee?...&lt;/code&gt; via &lt;code&gt;SummaryGrid&lt;/code&gt; — dotted &lt;code&gt;department.code&lt;/code&gt; column projects the FK join inline&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Employee view&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;GET /api/employee/{id}&lt;/code&gt; via &lt;code&gt;PalmyraViewForm&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Department lookup (inside Employee form)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;GET /api/department?name=...&amp;amp;_limit=...&lt;/code&gt; via &lt;code&gt;MantineServerLookup&lt;/code&gt;&amp;rsquo;s lookup store&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Employee new / save&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;POST /api/employee&lt;/code&gt; with payload &lt;code&gt;{ department: { id } }&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Employee edit / save&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;POST /api/employee/{id}&lt;/code&gt; with the same FK shape&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;No &lt;code&gt;axios.post&lt;/code&gt;, no &lt;code&gt;fetch&lt;/code&gt;, no per-entity data layer — every call flows through the single &lt;code&gt;PalmyraStoreFactory&lt;/code&gt; configured in the &lt;a href=&#34;https://palmyra.dev/docs/employee-app/frontend/02-api-wiring/&#34;&gt;frontend API wiring&lt;/a&gt; step.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
