Questions tagged [design]
Questions about problem solving and planning for a solution through software design.
5,244 questions
-4
votes
0
answers
56
views
Processes and templates needed when growing from small team of independent coders to engineers that need to collaborate [closed]
What are everyone's best resources that perform a deep dive on analyzing a problem and performing software engineering in a way that utilizes multiple engineers in the same code base towards a common ...
1
vote
1
answer
187
views
Does my code follow DDD principles?
I apologize in advance for my English.
I'm trying to model P2P crypto trading using DDD and I'm having trouble modeling the lifecycle of sell orders. Lifecycle:
Some trader-seller creates an order.
...
4
votes
7
answers
2k
views
Should there be one-to-one relationship between DAOs and tables?
Should there be a one-to-one relationship between DAOs and tables? For example, should only one DAO communicate with a given table?
Our data layer is kind of flawed, e.g. we have a MAN table that ...
4
votes
2
answers
256
views
How to untangle bounded contexts after a team ownership reorganization?
This is inspired by Eric Evans' presentation about bounded contexts when doing Domain driven design.
In his presentation he presents a case where a bank has initially 2 teams that manage 2 bounded ...
2
votes
0
answers
105
views
When Should We Separate DTOs from REST API Serialization Classes? [closed]
We know that combining a domain entity, a DTO, and a REST API serialization class into one won't pass code review:
@JsonInclude(JsonInclude.Include.NON_NULL)
@Data
@Builder
@Entity
@Table(name = "...
1
vote
1
answer
153
views
External Service Failures in Long-Running Queued Tasks
I'm developing an application where we process long-running tasks using a queue system (e.g., Asynq in Go). These tasks often interact with external services (cloud storage providers) to upload files ...
-1
votes
0
answers
57
views
Content-Based Filtering for Internship Recommendations Without User Ratings—Is It Feasible? [closed]
I’m designing a recommendation feature for a student internship platform. Students will explicitly select their interests and skills during registration, and recruiters will post internship ...
1
vote
1
answer
94
views
Where should an application's admin tools be located? [closed]
I am trying to make some admin and management tools to help staff/moderators manage users and content in an online application. But how will staff access the management tools?
There are two options:
...
1
vote
0
answers
141
views
How to manage user session in WebSocket
I'm developing a WebSocket server in Go where I read messages from clients and forward them to a tunnel. I want to integrate session management:
Check if a user's session is still valid.
Handle ...
1
vote
3
answers
225
views
How to allow users to provide their own child classes in a factory design pattern in c++?
I am building a c++ project that will allow users to essentially model and create their own fleet of cars.
Right now, the approach I have in mind is a Car Factory Class that will implement all of the ...
-1
votes
1
answer
58
views
Best way to visualize interactions and dependencies of two objects in different systems? [closed]
I'm designing the process where a change in the status of Object1 in System1 triggers the creation of Object2 in System2. Then status change in the Object2 can initiate a status change in Object1 and ...
13
votes
7
answers
3k
views
How are applications where any command can be run CLI, but also has a UI element, structured?
Sorry if the title sounds too broad, I'll try to clarify. I am trying to understand the structure of applications that have a GUI, but any action can also be run from a CLI (either integrated in the ...
0
votes
1
answer
103
views
Need help to design payment subscription - Custom logic for the recurring payment or Stripe Subscription
I am developing a SaaS platform with a membership management system as a part of the bigger system. Tenants are allowed to perform CRUD operations on Plans, which has price and the length of the ...
2
votes
3
answers
252
views
How to Handle Concurrent Refresh Token Requests
I'm developing a web application that uses tokens for authentication. Users often open multiple browser tabs, and each tab has a client-side timer to refresh the authentication tokens before they ...
1
vote
1
answer
79
views
Ideal system architecture for sensitive data access through DMZ
I'm trying to figure out the best approach for handling external requests. I am working on a system where the application is currently sitting outside (DMZ) and the DB is inside. The specific port ...
0
votes
2
answers
98
views
Presenting "Condition" batch creation setup for users in a ship buoyancy simulation software
This is a re-write of this question, as I was advised that I over-simplified the problem there.
I am writing a simulation software that takes a 3D model of a ship (or any other floating vessel), and ...
-2
votes
2
answers
203
views
SQLite - Design use of Variable Length Integers - explain the design flaw
The Carnegie Mellon Database Group invited the creator of sqlite D. Richard Hipp to talk about SQLite - The Databaseology Lectures - CMU Fall 2015.
Richard Hipp shows this slide (~ 39m51s) and says ...
3
votes
1
answer
192
views
Are contiguous objects contiguous in virtual memory or physical?
More or less what the title says.
Suppose we have a sequential container like vector in c++ that will store data contiguously.
When we say that the data is stored contiguously do we mean that it's ...
3
votes
2
answers
104
views
database as distinct operations in the Use Case diagram
I'm working on analyzing an application for skin disease diagnosis using AI. Here's the scenario:
User Interaction: The user logs in to the application, uploads or captures an image of their skin ...
-1
votes
1
answer
58
views
Infrastructural diagram with many heterogenous elements
I want to create an infrastructure diagram that has many heterogeneous elements.
E.g. PSTN, satelite, public internet, private network interconnected servers etc. Similar to the composition in the ...
0
votes
1
answer
49
views
Singe Page Application for the Web with (dynamic) tabbed interface - is there need for the navigation and url update for ERP application?
I am developing React SPA ERP application (so - no SEO requirement) with dynamic tabbed interface - where each form (e.g. invoice id=1, invoice id=2, invoice new, list of invoices, accounting report) ...
0
votes
3
answers
258
views
Design and communication between microservies
To learn about things like microservices, messaging brokers and all other new and fancy things, I decided to create microservices that will let me monitor my base within Minecraft (done via ...
1
vote
2
answers
139
views
Decoupling UIs from Domain logics | Clean architecture
I've been reading articles on Hexagonal, Onion, Clean Architectures, and other Domain-Driven Designs. A common theme they emphasize is decoupling components. From what I gather, this means the UI ...
-2
votes
1
answer
91
views
What is the best way to include / require open-source software in my application? [duplicate]
This is a very general question and also maybe stupid question: How should I build / structure my software if it depends on some other software to work? I know that package managers exist, but what if ...
2
votes
3
answers
239
views
What options are there to handle dependencies that may error?
I have an application, which contains a logger. The logger already exists and is ready to be used, so it can be passed directly to the constructor.
class App {
private readonly logger: Logger;
...
1
vote
1
answer
138
views
Best way to merge files in java [closed]
I have a task to merge set of files and each file contains words ( separated by new line ). Files contains words in sorted order. Once merged all the files, it needs to preserve the sorted order. ...
-1
votes
3
answers
189
views
Long running timers that need to survive shutdowns
What is the best way to go about creating an app that waits for a long time before running a task? Let's say I need my application to wait for 1 year and be precise to the second, what would be the ...
0
votes
1
answer
142
views
How to Model Parent-Child relationships outside of Aggregates
I am developing an application with many Parent-Child relationships which are leaving me with some modeling questions. Before I ask, let me give you some context:
No aggregates
While I am trying to ...
0
votes
1
answer
50
views
Resource path handling between REST Layer and Service Layer
What is a good way to handle "top-level" IDs in a Resource-oriented API path?
Consider a call to
GET /resourceA/12/resourceB/23
where A to B is a Parent-Child relationship and B has ...
3
votes
4
answers
662
views
How much better is using quad trees than simple relational database for storing location data?
I want to store and find back driver location data in the standard design uber/lyft problem.
I was researching about possible system design. Several videos and tutorials usually describe storing ...
1
vote
4
answers
402
views
Preventing payment to be processed twice
I have app with paymemt/subscription service, pretty much how the payment works is:
Initial payment
User initiate payment on the web ( click on "subscribe")
Back-End send init request to ...
0
votes
1
answer
82
views
Should domain logic reside inside or outside associated classes?
I have a question on where to put the logic in the following hypothetical:
There's this class that, at it's basis, has an int[]. There's a method that takes the int[]s of two of these classes and ...
5
votes
2
answers
447
views
How is async implemented natively?
How is async logic implemented natively without threads? What would be the high level structure of the system?
Is it just a separate OS thread that gets and pushes requests and results in 2 queues?
I ...
-1
votes
1
answer
90
views
Data Driven UI - event handling
Currently in our web app, we have forms which define model and view in JSON (in-house library) on the client side. Example:
And there is a component for each form, which has
event handling logics ...
0
votes
1
answer
142
views
How to share transaction across multiple repositories in DDD?
We are trying the Domain Driven Development (DDD) while working on a project.
We've got a Product aggregate.
We've got a ProductRepository to load/save Products.
We've also got a Timeline aggregate, ...
1
vote
1
answer
87
views
Fixed vs dynamic properties for a system with customization and changing requirements
Edit: writing a more specific question, as per comment, I guess my question boils down to: are dynamic properties designs appropriate for applications with rich UI and complex business logic (as ...
-1
votes
1
answer
92
views
Rigorous way to compare designs that support the same project
When having 4 different designs that can be delivered for a project and there is a strong difference of opinions on which design is preferred taking into account functional/non-functional requirements/...
0
votes
1
answer
107
views
Role Based Access Control: Inline vs Centralized
I have a server with many methods that can be requested by a user (or other service). I want to implement a role based access control. I can think of 2 ways to do it.
Inline: Each method has ...
1
vote
1
answer
124
views
Background thread processing vs queue based processing for relatively short tasks (max 30-40 seconds)
I need suggestion / recommendation on the design approaches mentioned below.
UseCase: I have a usecase where a client uses my system to generate some recommendations. Now, these recommendations are ...
0
votes
1
answer
172
views
Secure communication between browser extension and server on uncontrolled LAN
In broad strokes, here is the problem at hand with its unusual combination of constrains, and the solution I've come up with.
While this question does involve cryptography, it isn't related to the ...
0
votes
2
answers
121
views
Is it a bad-practice to return sub-resources in a response for a parent-resource in REST?
Let's say I parent-resource groups/{group-id} with a sub-resource owners:
/groups/{group-id}
/groups/{group-id}/owners
Is it bad practice to include the owners sub-resource in a response for the /...
0
votes
0
answers
54
views
Optimizing Azure architecture for real-time data streaming with historical data access
I'm currently working on a project hosted in Azure and would appreciate some advice on improving the existing architecture. Below, I've outlined the current setup and the challenges I'm facing, ...
2
votes
1
answer
142
views
Should I create another API to “move” content or modify my existing API that already does something similar?
I have a Spring Boot REST API that will copy content from one Amazon S3 bucket to another. The source and destination buckets are specified in the body of a POST request sent to the API. This works ...
-1
votes
2
answers
112
views
Should uniqueness validation be on the database level or backend codebase level in data import
There is a kinda ETL task of importing data from csv to the database in project with legacy codebase and legacy database**. Data should be validated before persisting to database.
Validation includes ...
0
votes
1
answer
65
views
Is it a good idea to have multiple derivations of Presenter (MVP) / View Model (MVVM) of a certain view and supply them externally?
So, I've an iOS project that needed to be revamped and added with a routing / navigation logic between views. We have 3 ways as the entry point of the routing: manually, push notification, and ...
0
votes
0
answers
48
views
Adequate Implementation for allowing access to an API
I am in the process of creating an internal application, and I am currently laying it out. Right now, these are the constraints:
Program is currently limited to one department, do not foresee it ...
2
votes
4
answers
468
views
How to deal with high level requirements that contain implementation details?
My question actually applies to a physical device development, but I guess it is equivalent to a software development workflow, so perhaps someone here can enlighten me.
Sometimes we've got ...
1
vote
4
answers
291
views
When should you and shouldn't you foresee? [duplicate]
I'm conflicted on this one
On the one hand, there's the YAGNI principle that states that you shouldn't write anything that you don't need right now
On the other hand, preventing problems is generally ...
-1
votes
1
answer
67
views
Code from packages mutually calling each other / being co-dependent: is it bad? [duplicate]
I think my question is really a symptom of a bigger problem; namely that I could really use some direction in how to properly think through the design of my intended software.
But in the stage where I ...
27
votes
8
answers
5k
views
How to Respond to Directive: "Move Our Entire Website to a CMS Service"
We have a large ASP.NET/C# e-commerce website (over 250k products) that's been around for over 15 years. We have lots of highly customized functionality, including a private subscription area, user-...