projectStructure.md template added

Code dive session video link added
pull/534/head
Buddhika Chathuranga 2020-05-17 01:43:18 +05:30
parent ee29eee8cf
commit aa062025d5
1 changed files with 98 additions and 0 deletions

98
doc/projectStructure.md Normal file
View File

@ -0,0 +1,98 @@
# Project Structure
:movie_camera: [You can find code dive session recorede video here](https://youtu.be/_adhRj19ESY)
```
|_ doc
|_ eng
|_ examples
|_ src
|_ Core
| |_ ServiceWrapper
| |_ WinSWCore
|_ Plugins
|_ Test/winswTest
```
## :open_file_folder: doc
This directory contains all the documents related to WinSW project.
## :open_file_folder: eng
### :page_facing_up: build.yaml
This contains Build configurations. We have another relase pipeline which is not yet added to this repository and will be added in later.
## :open_file_folder: examples
This folder contains templates for configuration files. Currently there are XML configuration templates. YAML templates will be added in later.
### :page_facing_up: sample-minimal.xml
This contains a template for mandotory configurations.
### :page_facing_up: sample-allOptions.xml
This template contains all possible configurations with documentation.
## :open_file_folder: src
This contains the implementation for the WinSW.
## :open_file_folder: Core
## :notebook: ServiceWrapper
This is the main executable project.
```
|_ ServiceWrapper
|_ Logging
| |_ WrapperServiceEventLogProvider.cs
|_ Properties
| |_ AssemblyInfo.cs
|_ Main.cs
|_ NullableAttributes.cs
|_ winsw.csproj
```
#### :page_facing_up: Main.cs
This file contains the entry point of the program. (Main method). This file includes the main flow of the program and has implemented the logics for command line arguments.
ex : ```install, uninstall, start, stop, restart```
## :notebook: WinSWCore
```
|_ WinSWCore
|_ Configuration
|_ Extensions
|_ Logging
|_ Native
|_ Util
|_ Download.cs
|_ DynamicProxy.cs
|_ LogAppenders.cs
|_ NullableAttributes.cs
|_ PeriodicRollingCalendar.cs
|_ ServiceDescriptor.cs
|_ WinSWCore.csproj
|_ WinSWException.cs
|_ WinSWSystem.cs
|_ Wmi.cs
|_ WmiSchema.cs
```
#### :page_facing_up: ServiceDescriptor.cs
This contains the logics for extracting configurations from XML file. ```ServiceDescriptor``` class get XML file as a argument. Currently configuratinos are provided on demand.
## :open_file_folder: Configuration
#### :page_facing_up: IWinSWConfiguration.cs
```IWinSWConfigurations``` interface contains all configurations.
#### :page_facing_up: DefaultSettings.cs
This contains default values for all configurations which included in ```IWinSWConfiguration.cs```.