Skip to content

[Feature]: Split Atom.Web.Server into per-application projects with central host project #306

@PapLabros

Description

@PapLabros

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

  1. Improve logical separation per application

  2. Reduce build times

  3. Enable parallel compilation

  4. Reduce unnecessary recompilation

  5. 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

appointbuddyIssues related to the AppointBuddy applicationdev enhancementFeatures that improve the developer experienceenhancementNew feature or requestmanagementIssues related to the Management applicationmobileIssues related to the mobile applicationsrefactoringIssues related to refactoringsserverIssues related to the serverstorebuddyIssues related to the StoreBuddy applicationtrainbuddyIssues related to the TrainBuddy applicationwebsiteIssues related to the AtomWorks websitewooshopIssues related to the WooShop application

Projects

Status

Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions