-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Describe the solution you'd like
Currently, there is a single C# project:
Atom.Web.Server
This project:
-
Contains the full server implementation
-
Handles requests for multiple applications
-
Defines types for all applications
-
References all application-specific logic
This architecture causes:
-
Poor logical separation
-
Tight coupling between applications
-
Excessive build times
-
Full recompilation on minor changes
We need to split the server into multiple projects, one per application, and introduce a central host project that references them.
Goals
-
Improve logical separation per application
-
Reduce build times
-
Enable parallel compilation
-
Reduce unnecessary recompilation
-
Improve maintainability and scalability
Benefits
🚀 1. Reduced Build Times
Currently:
- Any change forces full recompilation of entire server project.
After split:
-
Only changed project recompiles.
-
Visual Studio builds projects in parallel.
-
Full solution builds are significantly faster.
🧩 2. Proper Logical Separation
-
Clear boundaries between applications
-
No accidental cross-application dependencies
-
Improved code ownership
📦 3. Better Scalability
-
Easy to add new applications
-
Potential future separation into independent deployments
-
Easier testing and CI pipelines
Alternatives you've considered
No response
Additional context
No response
Metadata
Metadata
Assignees
Labels
Projects
Status