Software Architecture

cross-posted from: https://programming.dev/post/46281532

Hi fellow software engineers. Sorry for the long post in advance.

I'm offered a project for a website and E-commerce store for a medium-sized business.

There are thousands of E-commerce websites out there but I don't find it very straight forward to create one. I have mainly worked on enterprise software and don't have experience in E-commerce.

The website is going to be built with some SSG (probably Zola) az I really beleive in SSGs for websites. So we have that out of the way.

But for the E-commerce part, I'm confused.

Here are my requirements:

  • least development cost (time and money)
  • least maintenance cost
  • robust (don't need constant babysitting. Can work for years)
  • Simple both for developers and for admins
  • Better if we can find people to maintain it easily

Things that I'm good with:

  • JS/TS
  • Clojure
  • Python
  • HTMX
  • Vue / Nuxt
  • HTML/CSS

options that I'm considering:

  • Woocommerce

The layman's choice. I find wordpress horrible for websites but I think (not sure) that woocommerce has the least hassel and cost for an E-commerce website.

  • Django

Tried and tested. It has more cost of development but I think tge cost of maintenance is less. Creating with it's own MVVM architecture, it's basically server side rendering.

Also, python and django are very popular and it's very easy to find other people to work on the project.

It's similar to Django but for Clojure. Straight forward, scalable. I like Clojure MUCH more than python and am much more productive with it. The performance of this stack is also MUCH better than python and django and the technologies are more stable and need less maintenance.

The downside is, I probably cannot find anyone that knows Clojure.

  • Clojure + kit-clj + HTMX

This is a more "custom" approach, unlike frameworks like django, laravel, pedestal who take care of lots of things for you and do a lot of magic behind the scenes, we will be rolling everything ourselves here.

Render html server side with selmer and hiccup, and use HTMX for client side interactivity. Obeying HATEOAS and REST architectures.

I think this will be the most robust way but development cost will be higher and again, I will not find anybody else to work on it.

  • Server Client architecture

Server works with the database and handles business logic (Clojure/python/TS/JS) . can use graphQL to cut much cost and time from server side development, Client probably uses Nuxt.

Classic architecture, all young and old people are familiar with it, server and logic is decoupled from client.

Downside is the complexity of the front end stack rises. Horrible DX, horrible debugging, and costly.

Never used it, it is a full e-commerce framework, seems cool to be honest.


What do you guys suggest I should do? What's your experience? If there are better options that I'm missing out on, please tell.

Decentralized Microfrontend Architecture - (my approach for my project)

10mon 3d ago by lemmy.ml/u/positive_intentions in softwarearchitecture@lemmy.ml
302

PlayStation Portable Architecture | A Practical Analysis

5y 1mon ago by lemmy.ml/u/copacetic in softwarearchitecture@lemmy.ml from www.copetti.org
103

How Technology Architects make decisions

5y 2mon ago by lemmy.ml/u/copacetic in softwarearchitecture@lemmy.ml from markgreville.ie
104

My 1 year journey writing a complex software

5y 2mon ago by lemmy.ml/u/copacetic in softwarearchitecture@lemmy.ml from olusola-i-olaoye.medium.com
105

SysML v2 will have a textual representation

5y 2mon ago by lemmy.ml/u/copacetic in softwarearchitecture@lemmy.ml from mbse4u.com
206

ARCHITECTURE.md

5y 3mon ago by lemmy.ml/u/copacetic in softwarearchitecture@lemmy.ml from matklad.github.io
107

Use decision records already!

5y 3mon ago by lemmy.ml/u/copacetic in softwarearchitecture@lemmy.ml from beza1e1.tuxen.de
108

How to Become a Great Software Architect • Eberhard Wolff • GOTO 2019

5y 3mon ago by lemmy.ml/u/copacetic in softwarearchitecture@lemmy.ml from youtu.be
109

What do software architects really do? by Philippe Kruchten, 2008 (pdf)

5y 3mon ago by lemmy.ml/u/copacetic in softwarearchitecture@lemmy.ml from pkruchten.files.wordpress.com
1010

Documenting Software Architecture

5y 3mon ago by lemmy.ml/u/copacetic in softwarearchitecture@lemmy.ml from herbertograca.com
1011

Upmo openly shares their architecture and design

5y 3mon ago by lemmy.ml/u/copacetic in softwarearchitecture@lemmy.ml from upmo.com
1012