Guidelines on codeing standard and naming conventions within Relaymed.Also includes information on other things on lifecycle etc.
Files should be grouped together by type
We should only have one class per file.
Anything that is in more than one project should be in the common projects.
We shouldn't use the word message in any name of any object. Use DTO/Entity
Namespaces should begin with Relaymed.
Site Dev Guidelines
Drop domain objects in the service façade - Site should just be a UI onto of the Relaymed Service
No Commands/Queries -> if you touch any code with one, remove it
Site should just have view/Service Contract/Controllers - all else will be removed eventually
Don't call the context directly from the service contract (should have Service Layer | Repository | Data Context)
Do not use the Device Payload anywhere
Site should not access a Database directly
Domain Objects should have proper constructors for mandatory properties, not auto-properties. Auto properties should only be used for optional properties
Do not use Valid files in testing, use builders and construct test data properly
Model Validation should be done on server, JS can be used as a progression enhancement but only that
Should contain Business logic
pass into the views from the controller to render (DTO), can be a list. NO LOGIC
Interacts with the database layer
Class Names for Unit Tests
Individual Test Name
Methods to Extend the Test Class
Acronyms Should be Upper Case
Migrations should be Upper CamelCase
Shows the naming conventions for Relaymed C# code. Parts in bold must be included in that form, normal text should be replaced with meaningful names.