<?xml version="1.0" encoding="utf-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom">
  <title></title>
  <subtitle></subtitle>
  <id>https://www.endpointdev.com/blog/tags/end-point-ecommerce/</id>
  <link href="https://www.endpointdev.com/blog/tags/end-point-ecommerce/"/>
  <link href="https://www.endpointdev.com/blog/tags/end-point-ecommerce/" rel="self"/>
  <updated>2025-10-29T00:00:00+00:00</updated>
  <author>
    <name>End Point Dev</name>
  </author>
  
    <entry>
      <title>Adventures in Vibe-Coding with Replit</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2025/10/adventures-in-vibe-coding-with-replit/"/>
      <id>https://www.endpointdev.com/blog/2025/10/adventures-in-vibe-coding-with-replit/</id>
      <published>2025-10-29T00:00:00+00:00</published>
      <author>
        <name>Seth Jensen</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2025/10/adventures-in-vibe-coding-with-replit/nyc-streets-from-above.webp&#34; alt=&#34;A New York City intersection viewed from above, at a 40 degree angle&#34;&gt;&lt;/p&gt;
&lt;!-- Photo by Seth Jensen, 2025, shot on Kodak 200 with a Nikon FE --&gt;
&lt;p&gt;A few weeks back, I tried out Replit Agent to see how viable it is as a development tool. I built two apps from scratch, which took 10–15 hours total, with a decent amount of human input along the way to clarify the agent&amp;rsquo;s questions.&lt;/p&gt;
&lt;h3 id=&#34;project-1-multi-llm-code-review-api&#34;&gt;Project 1: Multi-LLM code review API&lt;/h3&gt;
&lt;p&gt;The idea for the first project was to have a multi-LLM code review app, where you would pass a repository on GitHub or locally to an API, and it would run several full-repo code reviews, ranking and deduplicating them before returning a response. This setup should allow me to have a web frontend or CLI without much added complexity.&lt;/p&gt;
&lt;h4 id=&#34;the-prompt&#34;&gt;The prompt&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please build an app based on this app specification: app_spec.yaml (460 lines)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h4 id=&#34;the-results&#34;&gt;The results&lt;/h4&gt;
&lt;p&gt;After much back and forth (and about 40 agent-generated Git commits), I got this message:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;🎉 SUCCESS! The Multi-LLM Code Review Assistant is now fully working!&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Well, I actually got this message several times after sending just about any command to the agent. It&amp;rsquo;s very excited about its own work, even when it doesn&amp;rsquo;t work! In this case, the API connections were working, and testing with curl gave output, but I couldn&amp;rsquo;t get it to give more than one code review tip for a large codebase — not a very effective code-review app.&lt;/p&gt;
&lt;p&gt;I tried asking the agent to diagnose and fix this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;So, this seems to not be returning very many code review suggestions. If I go
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;look at the repos I&amp;#39;m putting in, there are plenty of code issues that could be
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;returned, especially with documentation. How can we make this system find more
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;issues?&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;In response, Replit&amp;rsquo;s agent created a full React frontend for the API! Neat, but far from what I asked — the app still doesn&amp;rsquo;t return substantial code reviews.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2025/10/adventures-in-vibe-coding-with-replit/code-review-unwanted-frontend.webp&#34; alt=&#34;Code Review AI Multi-LLM Assistant interface showing dark-themed navigation sidebar with options for Submit Code, Dashboard, Analytics, and Settings. Main content area displays &amp;lsquo;Multi-LLM Code Review Assistant&amp;rsquo; title with description and two buttons: GitHub Repository and Upload ZIP File.&#34;&gt;&lt;/p&gt;
&lt;p&gt;So after ~$100 of agent credits, I found that Replit was not the tool for this app — I&amp;rsquo;m now trying to build a &lt;a href=&#34;/blog/2025/10/creating-agentic-ai-apps/&#34;&gt;CrewAI&lt;/a&gt; app to accomplish the same thing (stay tuned for a post about that).&lt;/p&gt;
&lt;h3 id=&#34;project-2-end-point-ecommerce--hugo-site&#34;&gt;Project 2: End Point Ecommerce + Hugo site&lt;/h3&gt;
&lt;p&gt;A common theme in Replit apps we&amp;rsquo;ve experimented with is that it prefers to make everything a web app with a React frontend. I was curious how it&amp;rsquo;d do with a different web stack: The &lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo&lt;/a&gt; static site generator for the frontend and our recently launched &lt;a href=&#34;/expertise/end-point-ecommerce/&#34;&gt;End Point Ecommerce&lt;/a&gt; for the backend.&lt;/p&gt;
&lt;p&gt;This is an interesting problem for an LLM, since Hugo is widely used (including on &lt;a href=&#34;/blog/2021/08/converting-to-hugo/&#34;&gt;this site&lt;/a&gt;), but still small compared to React, Vue, and similar frameworks, and since End Point Ecommerce is well-documented but too new for any online discussion. However, it&amp;rsquo;s a modern .NET ecommerce framework and the code is readable and straightforward.&lt;/p&gt;
&lt;h4 id=&#34;the-prompt-1&#34;&gt;The prompt&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Build me a hugo website frontend to interact with end point ecommerce:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://ecommerce.endpointdev.com/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;For the UI, make a halloween-themed storefront with orange text, black and grey
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;backgrounds, and halloween-themed test products. Use the Ballast font for
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;headers, and charter for body text for now.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;After providing this initial prompt, I followed up with these:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Here is the github link for end point ecommerce, which this site will connect to:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://github.com/EndPointCorp/end-point-ecommerce
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please make the app as simple as possible, while still working
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Oh, and please use this demo API to connect to for now, so you don&amp;#39;t have to
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;build any backend at all, just interface with this:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://demo.ecommerce.endpointdev.com/swagger/index.html&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h4 id=&#34;the-results-version-1&#34;&gt;The results (version 1)&lt;/h4&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2025/10/adventures-in-vibe-coding-with-replit/site-v1.png&#34; alt=&#34;Spooky Store Halloween ecommerce website showing three product cards featuring jack-o&amp;rsquo;-lantern pumpkin carving designs. Products listed are: Pumpkin Spice Treats with pumpkin emoji ($3.99), Spider Web Candy with spider emoji ($2.49), and Ghost Marshmallows with skull emoji ($4.99). Dark background with orange Halloween-themed branding.&#34;&gt;&lt;/p&gt;
&lt;p&gt;It generated a nice, simple ecommerce storefront, using Hugo and End Point Ecommerce. Impressive! However, there&amp;rsquo;s one red flag: if you look at the products &lt;a href=&#34;https://demo.ecommerce.endpointdev.com/&#34;&gt;in the demo API&lt;/a&gt; we&amp;rsquo;re using, they are simple groceries — Apple, Banana, etc. So where did &amp;ldquo;Pumpkin spice treats,&amp;rdquo; &amp;ldquo;Spider Web Candy,&amp;rdquo; and &amp;ldquo;Ghost Marshmallows&amp;rdquo; come from?&lt;/p&gt;
&lt;p&gt;It turns out, these are &amp;ldquo;fallback products&amp;rdquo; Replit had made when it failed to connect to the End Point Ecommerce demo API. Not great for an ecommerce site! Your users would see bogus but real-looking products when they&amp;rsquo;re unable to see or buy real products (I didn&amp;rsquo;t test this far, but the site may have even accepted payment info for fake products).&lt;/p&gt;
&lt;p&gt;So I followed up:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please remove the fallback products&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h4 id=&#34;the-results-version-2&#34;&gt;The results (version 2)&lt;/h4&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2025/10/adventures-in-vibe-coding-with-replit/site-v2.png&#34; alt=&#34;Spooky Store Halloween ecommerce website with jack-o&amp;rsquo;-lantern decorations. Features welcome banner with spider icons and orange border. Error message displayed stating &amp;lsquo;Something spooky happened! Could not load products&amp;rsquo; with skull icons, indicating products failed to load in the Haunting Collection section.&#34;&gt;&lt;/p&gt;
&lt;p&gt;This looks more promising! We get an error message written by the frontend. In production we might want to display more specific messages based on the response, but for this demo, I&amp;rsquo;m happy with this way of displaying errors.&lt;/p&gt;
&lt;p&gt;In true &amp;ldquo;vibe-coding&amp;rdquo; fashion, I asked the Replit agent to diagnose the network error:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;There is a network error while loading products, what is the issue?&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;It responded with a couple options, the main one being assume it&amp;rsquo;s a CORS issue.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Possible Solutions
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Option 1: Server-Side Proxy (Recommended)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- Create a simple server endpoint that fetches the products
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- Your frontend calls your server, your server calls the external API
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- No CORS issues since server-to-server requests aren&amp;#39;t restricted&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;I was suspicious of it being a CORS issue since everything was hosted in the Replit container, so after poking around myself, I wrote this prompt:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please use the web api to sign up for an account by POSTing to the /api/User
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;end point and getting an API key&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;However, after reviewing the project for this post, I found that I misunderstood the issue in this prompt — no authentication is needed to GET &lt;code&gt;/api/products&lt;/code&gt; on the demo API of End Point Ecommerce, the site was just disallowing this cross-origin request. Replit&amp;rsquo;s agent went ahead and implemented the CORS change anyway, though it didn&amp;rsquo;t correct my prompt.&lt;/p&gt;
&lt;p&gt;After a few more followup prompts&amp;hellip;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please use the &amp;#34;basePrice&amp;#34;, &amp;#34;discountAmount&amp;#34;, and &amp;#34;discountedPrice&amp;#34; keys that
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;are returned from the API to show the real prices of the items
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Now, please fetch the images from the API as well&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&amp;hellip;we have a decent working Hugo site connected with the End Point Ecommerce demo API!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2025/10/adventures-in-vibe-coding-with-replit/site-v3.png&#34; alt=&#34;Spooky Store Halloween ecommerce website displaying three product cards in a row: red apple for $1.99, banana bunch on yellow background for $0.25, and raw beef for $7.99. Shopping cart button visible in top right corner. Dark background with orange Halloween-themed header.&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;feature-addition-cart&#34;&gt;Feature addition: cart&lt;/h4&gt;
&lt;p&gt;I wrote this prompt next, without having done my research on the backend (which made for an interesting unintentional experiment):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please add a lightweight cart management system which uses localStorage, with
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;options to add to, remove from, or update quantity of items in the cart. Add a
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;simple checkout form with contact information, shipping address, and billing
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;address. For now, instead of payment information, just have a button which adds
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a commonly used dummy credit card number.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;There&amp;rsquo;s an issue here: I specified using &lt;code&gt;localStorage&lt;/code&gt;, which is a fine way to set up a frontend cart system, but it ignores the existing system End Point Ecommerce already supplies. I hadn&amp;rsquo;t checked the documentation before making this prompt, and neither did Replit; it happily obliged and created a cart management system on the frontend. It&amp;rsquo;s nice that the agent did what I asked, but if I were trying to work with the agent, without cross-referencing documentation myself, I would be disappointed.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s the interesting part about using a non-deterministic system like AI agents: responding to one prompt, it might ignore my specific (and misguided) requests, but in another it might blindly execute the tasks it&amp;rsquo;s given. By the nature of LLMs, you can&amp;rsquo;t predict what you&amp;rsquo;ll get.&lt;/p&gt;
&lt;h4 id=&#34;bonus-a-few-extra-notes&#34;&gt;Bonus: a few extra notes&lt;/h4&gt;
&lt;p&gt;A couple final notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No .gitignore was generated, so the Hugo-generated &lt;code&gt;public/&lt;/code&gt; folder is tracked in Git&lt;/li&gt;
&lt;li&gt;The agent used plain CSS, without SCSS or a framework — I&amp;rsquo;d recommend specifying the stack further in the prompt if you want an app that&amp;rsquo;ll be nice to maintain. You don&amp;rsquo;t want to assume the agent will make smart coding decisions on its own.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;when-id-use-replit-and-similar-do-it-all-ai-agents&#34;&gt;When I&amp;rsquo;d use Replit (and similar do-it-all AI agents)&lt;/h4&gt;
&lt;p&gt;I would use Replit for very quick-and-dirty web development, when sites which shouldn&amp;rsquo;t last a long time — although I&amp;rsquo;ve seen too many projects originally intended to be short-lived become important for many years&amp;hellip;&lt;/p&gt;
&lt;p&gt;Replit handles its containerized deployments well; if I needed to share a working demo site within a few hours, Replit would be a good pick. Especially if you like React frontends, even when you might not have asked for one! But if I was dealing with customer data, orders, or my own data I cared about, I would want to be heavily involved throughout the development process.&lt;/p&gt;
&lt;p&gt;For projects where performance and accuracy matter (read: most projects), I will be taking a more directed approach. I&amp;rsquo;ve had some good results using Continue or GitHub CoPilot as a coding assistant for small tasks in existing repos, rather than letting AI taking the wheel completely.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Announcing End Point Ecommerce, Our New Open Source Project</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2025/08/announcing-end-point-ecommerce-our-new-open-source-project/"/>
      <id>https://www.endpointdev.com/blog/2025/08/announcing-end-point-ecommerce-our-new-open-source-project/</id>
      <published>2025-08-21T00:00:00+00:00</published>
      <author>
        <name>Kevin Campusano</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2025/08/announcing-end-point-ecommerce-our-new-open-source-project/railing-blue-sky.webp&#34; alt=&#34;A white plastered railing from a low angle, behind which is a pure blue sky. The railing comes down and to the right from the top left corner of the image, then has a right angle in the center of the image, coming back up and to the right for another quarter of the image before stopping.&#34;&gt;&lt;/p&gt;
&lt;!-- Photo by Seth Jensen, 2025. --&gt;
&lt;p&gt;Today we&amp;rsquo;re pleased to announce a new open source project: End Point Ecommerce.&lt;/p&gt;
&lt;p&gt;End Point Ecommerce is a minimalist ecommerce system that&amp;rsquo;s quick to set up and easy to understand. It is meant for developers to own, adapt, customize, and extend.&lt;/p&gt;
&lt;p&gt;You can learn more about it on &lt;a href=&#34;https://ecommerce.endpointdev.com/&#34;&gt;our landing page&lt;/a&gt;. You can also fork it today on &lt;a href=&#34;https://github.com/EndPointCorp/end-point-ecommerce&#34;&gt;GitHub&lt;/a&gt;. There are running demos here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://demo.ecommerce.endpointdev.com/swagger/index.html&#34;&gt;REST API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://admin.demo.ecommerce.endpointdev.com&#34;&gt;Admin Portal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://demo.ecommerce.endpointdev.com&#34;&gt;Web Store&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Are you interested in using End Point Ecommerce for your ecommerce site? Feel free to &lt;a href=&#34;/contact/&#34;&gt;contact us&lt;/a&gt; and we can work together to help you deploy, customize, and maintain it.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2025/08/announcing-end-point-ecommerce-our-new-open-source-project/epec_swagger.webp&#34; alt=&#34;REST API&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2025/08/announcing-end-point-ecommerce-our-new-open-source-project/epec_admin_portal.webp&#34; alt=&#34;Admin Portal&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2025/08/announcing-end-point-ecommerce-our-new-open-source-project/epec_web_store.webp&#34; alt=&#34;Web Store&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;key-features&#34;&gt;Key features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Built with &lt;a href=&#34;https://dotnet.microsoft.com/en-us/apps/aspnet&#34;&gt;ASP.NET&lt;/a&gt;, &lt;a href=&#34;https://www.postgresql.org/&#34;&gt;PostgreSQL&lt;/a&gt;, and &lt;a href=&#34;https://www.authorize.net/&#34;&gt;Authorize.net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Multiple deployment strategies, including &lt;a href=&#34;https://docs.docker.com/compose/&#34;&gt;Docker Compose&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Code base designed to follow &lt;a href=&#34;https://learn.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/common-web-application-architectures#clean-architecture&#34;&gt;Clean Architecture&lt;/a&gt; and &lt;a href=&#34;https://learn.microsoft.com/en-us/archive/msdn-magazine/2009/february/best-practice-an-introduction-to-domain-driven-design&#34;&gt;Domain Driven Design&lt;/a&gt; concepts, without being dogmatic about it — simplicity trumps all&lt;/li&gt;
&lt;li&gt;Good test coverage with &lt;a href=&#34;https://xunit.net/&#34;&gt;xUnit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Includes a backend admin portal for managing the store, a REST API for building user-facing store frontends, and a simple web frontend&lt;/li&gt;
&lt;li&gt;Limited functionality — implements the bare minimum of ecommerce use cases&lt;/li&gt;
&lt;li&gt;Product catalog, shopping cart, order submission, email delivery&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;how-we-got-here&#34;&gt;How we got here&lt;/h3&gt;
&lt;p&gt;We recently had the opportunity to help one of our clients migrate their ecommerce site. They were using an established ecommerce engine and were having various problems with it. Their requirements were simple, and they didn&amp;rsquo;t need all the bells and whistles of big ecommerce solutions. They didn&amp;rsquo;t want to deal with the overhead, bloat, and difficulty of finding maintainers.&lt;/p&gt;
&lt;p&gt;During initial investigation and planning, we didn&amp;rsquo;t find any options that were small and easy to set up, understand, and customize, so we decided to build them a new site from scratch.&lt;/p&gt;
&lt;p&gt;We realize that there may be others out there in the same boat that we were. You want to set up a custom ecommerce site but you don&amp;rsquo;t want to deal with the complexity of bigger off-the-shelf solutions. You want something which you can thoroughly understand quickly, and modify to your heart&amp;rsquo;s content, as if it were your own code base that you developed from scratch.&lt;/p&gt;
&lt;h3 id=&#34;who-is-this-for&#34;&gt;Who is this for?&lt;/h3&gt;
&lt;p&gt;This project is meant for .NET developers who want a solid and simple foundation to build and customize ecommerce sites. To that end, the feature set is very basic, the code base is very straightforward, and the documentation is very developer-oriented. The idea being that developers can quickly get up to speed with how everything works, develop ownership over the code base, and implement their bespoke use cases.&lt;/p&gt;
&lt;p&gt;This project is not meant for non-technical folks. There is no installation wizard, no templating engine, no plugin framework, no no-code customization capabilities.&lt;/p&gt;
&lt;p&gt;If you want to set up a simple online store, or develop a highly customized one from scratch, think of this as a way of skipping the first few steps of building the foundational architecture and basic functionality.&lt;/p&gt;
&lt;p&gt;Please check it out! And do whatever you want with it!&lt;/p&gt;

      </content>
    </entry>
  
</feed>
