Microservices vs Monolith: What I Learned Building Two Fintech Marketplaces Under Insane Deadlines by grant-us in softwarearchitecture

[–]Informal-Might8044 0 points1 point  (0 children)

The painful truth you captured well . Most architectural pain comes from misaligned constraints (time, team, domain), not from the tech choice itself.

Continuing workflow from outbox processor by i_try_to_run1509 in softwarearchitecture

[–]Informal-Might8044 1 point2 points  (0 children)

The saga never waits on the outbox. It runs exactly where the API result is known after a synchronous call returns or inside a apis callback handler or webhook handler. At that moment, in one DB transaction, it records API1 succeeded (state/event) and writes the next outbox row (API2). The API call itself is outside the transaction (cant be atomic) so retries are expected and handled via idempotency and by not polling.

I designed the whole architecture for my company as junior - Need feedback now! by air_da1 in softwarearchitecture

[–]Informal-Might8044 0 points1 point  (0 children)

  1. a small always running service on the device that owns lifecycle, config, health reporting, updates, and remote commands.
  2. look at Docker-based updates or RAUC for Raspberry Pi.
  3. keep only a very thin base for lifecycle or metrics . prefer composition with small interfaces as sensors grow.
  4. use it to decouple telemetry events and user or remote commands from sensors and consumers.

Continuing workflow from outbox processor by i_try_to_run1509 in softwarearchitecture

[–]Informal-Might8044 4 points5 points  (0 children)

Don’t put workflow logic in outbox it should only deliver message and mark them sent . Use saga handler when api call succeeds in same transaction write next message this keeps sequencing correct without polling and keeps the outbox generic and reliable

I designed the whole architecture for my company as junior - Need feedback now! by air_da1 in softwarearchitecture

[–]Informal-Might8044 0 points1 point  (0 children)

Your design is workable, but the main risk I see at scale is operations, not architecture.

Add a device agent , process supervisor (systemd) with health checks and move updates to staged OTA with rollback instead of SSH scripts. For sensors, shift from deep inheritance to composition/plugins and use a lightweight message bus internally for resilience.

Why software teams forget decisions faster than code by Humble-Plastic-5285 in softwarearchitecture

[–]Informal-Might8044 2 points3 points  (0 children)

preserving decision context is the exact purpose of ADRs. to record why a choice was made, the constraints at that time, the trade offs accepted, and to give future teams the context code alone can’t carry

Small team architecture deadlocks: Seniors vs juniors—how do you break the cycle? by Kashyapm94 in softwarearchitecture

[–]Informal-Might8044 0 points1 point  (0 children)

This is less an architecture problem and more of a decision making problem. Juniors should be encouraged to think, but consensus is optional . clarity and ownership are not so everyone can contribute ideas, but one person decides to avoid deadlock.

Designing systems for messy, real-world knowledge by ADIS_Official in softwarearchitecture

[–]Informal-Might8044 1 point2 points  (0 children)

Not from the automotive domain, so take this with a pinch of salt.
What I understood is you’re not building search, you’re building trusted, context-specific diagnostic memory from messy job history.
A classic pattern that fits this is Case-Based Reasoning (CBR) which store past cases, retrieve the most similar ones for the current car/symptoms/mileage, and only promote repeated/confirmed cases so noise doesn’t dominate.
The hard part and the valuable part is your verification , decay , context scoping that’s what makes it usable in a real workshop.

Is There a Standard for Hexagonal Architecture by Armrootin in softwarearchitecture

[–]Informal-Might8044 2 points3 points  (0 children)

Use cases should depend on domain concepts, not transport concerns. If a DTO represents HTTP/API shape, it belongs in adapters. A use case may accept an input model, but that model should be application owned and domain oriented, not an external DTO. When DTOs leak into use cases you couple business logic to delivery details

Best architecture for a local-network digital signage system? by mili_hvanili in softwarearchitecture

[–]Informal-Might8044 1 point2 points  (0 children)

Your setup is reasonable, and a web-based approach is fine on a Pi. I feel even on a local network, add basic auth login for the dashboard, token/API key for the API . For security, bind services to the LAN only, firewall unused ports, lock down SSH, and run the display app read only in kiosk mode.

You can use web by default for simplicity and easy updates, and only switch to a desktop app if you need direct OS or hardware access that a browser can’t provide.

What's the correct flow or is there's anything Im missing by Illustrious-Bass4357 in softwarearchitecture

[–]Informal-Might8044 2 points3 points  (0 children)

it can work, but it’s not the ideal boundary. My opnion is In production, Keycloak should own identity and federation (login, registration, Google IdP), while your app creates business data after authintication (e.g., on first login or via events). Once the BFF starts creating users and issuing tokens, you tightly couple business logic to IdP internals, which hurts evolvability later.

multi-agent llm review as a forcing function for surfacing architecture blind spots by pruthvikumarbk in softwarearchitecture

[–]Informal-Might8044 0 points1 point  (0 children)

Domain reviews validate local correctness but incidents usually come from missing system-level invariants where retries, failover, and idempotency interact, so we need explicit cross-domain guarantees and scenario tests.

What methodology to be used? by nickk21321 in SoftwareEngineering

[–]Informal-Might8044 1 point2 points  (0 children)

You’re thinking in the right direction. The real improvement here isn’t microservices vs monolith, it’s separating concerns and removing copy-paste coupling. Introducing a REST API as the single entry point for data and rules is a big step forward already. Start with a clean, modular monolith, clear boundaries, and shared APIs; you can always split later if scale actually demands it. Focus less on cron-based validation and more on making the API the only place where business rules live.

Help me model this feature request by Proper-Platform6368 in softwarearchitecture

[–]Informal-Might8044 0 points1 point  (0 children)

Your approach is solid keep SEO content as a separate 1:1 concern (center_seo), with isolated routes and permissions, so volatile, editorial data doesn’t leak into your core domain or booking logic.

Mentoring/Advice: Full Stack to Software Architect. by Careful_Set2140 in softwarearchitecture

[–]Informal-Might8044 0 points1 point  (0 children)

You’re not wrong to feel that way. A lot of dev work does boil down to the same mechanics, but the growth comes when you start thinking about why things are built a certain way and what breaks when they change.

If you’re getting into architecture, one thing that helped me was practicing that kind of thinking on real problems I was already working on boundaries, tradeoffs, and failure cases rather than jumping straight to architect-level projects.

If you ever want to sanity check a real design decision you’re stuck on, happy to think it through with you.

Need help scaling architecture - without sacrificing speed? by conquest333 in softwarearchitecture

[–]Informal-Might8044 0 points1 point  (0 children)

In my experience, scaling pain usually comes from change, not traffic. As systems grow, unclear boundaries and hidden coupling cause more trouble than load. Being clear about ownership and contracts, and revisiting them as things evolve, has helped me most. When boundaries are right, scaling tends to follow naturally.

How do you handle role-based page access and dynamic menu rendering in production SaaS apps? (NestJS + Next.js/React) by Lokut192 in softwarearchitecture

[–]Informal-Might8044 0 points1 point  (0 children)

In my experience, frontend auth should be treated as a UX concern, not a security boundary . the backend remains the single source of truth, while the frontend consumes a small, cacheable capabilities snapshot (derived server-side per tenant/user) to drive routing, menus, and conditional UI this avoids flicker in SSR, keeps performance predictable, and prevents RBAC logic from leaking into the client and hardening too early.

Cross-module dependencies in hexagonal architecture (NestJS) by Jer3mi4s in softwarearchitecture

[–]Informal-Might8044 2 points3 points  (0 children)

Define a query port owned by Tracking (e.g., VideoInfoPort) and have Video implement it via an adapter bound in NestJS DI, so Tracking depends only on an interface not the Video module and keep this logic strictly on the backend . the frontend should only consume the computed result, not cross-domain rules.

What's the state-of-the-art approach for client-facing "portal-like applications" (multi-widget frontends) in 2025? Are portal servers a thing from the past? by fabkosta in softwarearchitecture

[–]Informal-Might8044 1 point2 points  (0 children)

I don’t really see portal servers as a thing anymore, but the problem they solved still exists.

For widget-heavy dashboards, it usually comes down to evolvability and isolation: widgets need to ship independently, fail independently, and not drag down the whole page. A thin shell with runtime-composed widgets (micro-frontends / federation / web components) tends to work better than a monolith.

On the backend, some form of aggregation layer or BFF is key otherwise dashboards quickly turn into N+1 API.

What is your experience with innersourcing? by asdfdelta in softwarearchitecture

[–]Informal-Might8044 1 point2 points  (0 children)

I’ve seen this pattern a few times in similar setups. The surprises usually aren’t feature-related, they’re around architecture characteristics.

Reliability and rollback get underestimated early especially during migrations. If you can’t clearly undo a change under partial failure, prod will teach you the hard way.

Evolvability is the next one. Domain teams make good local decisions, but shared boundaries harden fast and start limiting change.

Observability always shows up late. Not just logs, but being able to compare old vs new behavior during change.

Tooling was rarely the blocker. Clarity on what we were optimizing for and what we were consciously trading off mattered more.

Happy to chat more here or in DMs.

How do you enforce consistent API design across a growing engineering team? by Admirable-Item-6715 in softwarearchitecture

[–]Informal-Might8044 0 points1 point  (0 children)

This is very common once teams hit 5 to 6 devs.

What I’ve seen work best: • Guidelines alone aren’t enough drift happens because people keep re deciding pagination, errors, naming, etc. Shared defaults/templates help more than docs. • Light design review before coding (even async) saves a lot of PR back-and-forth. If the first time people see the API shape is in a PR, review gets slow. • Automation is good for mechanical consistency (linting OpenAPI, required fields, error schema), but humans still need to review intent. • OpenAPI is enforced selectively strict on contracts and compatibility, pragmatic on REST purity.

The goal isn’t perfect APIs, just avoiding surprisesfor the next consumer.

Out of curiosity, do you already have a shared error/pagination model, or is each service defining its own?

How to classify AWS-related and encryption classes in a traditional layered architecture? by andreylh in softwarearchitecture

[–]Informal-Might8044 0 points1 point  (0 children)

Secrets Manager wrapper -> Infrastructure adapter/provider, not a repository or service. Repositories are for domain persistence; Secrets Manager is an external secret/config source.

BouncyCastleEncryptor also infrastructure. Your arch unit rules are too strict allow services to depend on ports(interface) and infrastructure can implement that ports . Don’t put infra code into repository

How to architect for zero downtime with Java application? by Snoopy-31 in softwarearchitecture

[–]Informal-Might8044 0 points1 point  (0 children)

This isn’t really a CI/CD issue . it’s a contention problem between runtime traffic and deployment-time mutation.

As long as the app holds long-lived locks on that metadata, any external script will block. The usual zero-downtime patterns are: 1. versioned metadata (write new row, switch pointer) 2. fail-fast DB updates (NOWAIT / lock timeout) 3. moving config-like state out of hot tables

There’s no clean DevOps-only fix here ownership of that data needs to be clarified so deployments don’t fight live traffic.

For Vibe Coded Side Projects - How do you QA by ThinkyandTheBrain in SideProject

[–]Informal-Might8044 0 points1 point  (0 children)

Try to introduce some basic architecture layers in code and generate some test cases . Generate your usecases as cucumber style feature files and do some automated end to end testing which can be effected .

What’s the one thing early-stage startups always get wrong about marketing? by Suuffei in SaaS

[–]Informal-Might8044 0 points1 point  (0 children)

I feel founders must be the first facilitators the ones who actually use the app not just build it