Project Structure Guide
Introduction
This guide provides an overview of the project structure for the FenixAlliance solutions, which encompass multiple sub-projects including ABM, ABP, ABS, ACL, and APS among others. Understanding the structure is crucial for efficient development and maintenance.
High-Level Structure
Here's a simplified view of the project directories:
.
├── FenixAlliance.ABM
├── FenixAlliance.ABP
├── FenixAlliance.ABS
├── FenixAlliance.ACL
├── FenixAlliance.APS
├── FenixAlliance.Docs
├── FenixAlliance.Portals
├── LICENSE.md
├── README.md
├── Scripts
└── Workspaces
Key Directories
-
FenixAlliance.ABM,FenixAlliance.ABP, etc.: These are the core solution folders, each containing various projects related to different functionalities. -
FenixAlliance.Docs: Houses all documentation files, including MkDocs configuration and versioned documentation. -
Scripts: This directory contains PowerShell scripts for various automation tasks, including build and deployment. -
Workspaces: This directory contains workspace configuration files for Visual Studio Code, specific to different aspects or components of the overall system.
Sub-Project Structure
Each solution folder, such as FenixAlliance.ABM, further contains various sub-projects:
-
Core: Contains the core logic and models. -
Data: Data-related logic, possibly separated by database type like MSSQL, MySQL, etc. -
Tests: Unit tests for the project's modules. -
SDK: Contains the software development kit for the project. -
Web: Contains the web API or UI code. -
Hub: May contain SignalR hubs or other real-time communication components. -
Models: Houses DTOs, ML models, and data mappers.
Conclusion
The architecture is designed to be modular and clean, allowing developers to locate files and directories with ease. For any specific questions related to the structure, refer to the README files in each directory or consult the documentation.
For more details on code style and best practices, please refer to the Code Style Guide.