@@ -8,27 +8,31 @@ Implemented Immutable Classes Feature <br/>
88Implemented Immutable Classes Feature <br />
99[ Jehoel] ( https://github.com/Jehoel ) <br />
1010
11- Assisted in Bug Fixing <br />
12- [ tyeth] ( https://github.com/tyeth ) , [ dogac00] ( https://github.com/dogac00 )
11+ Assisted in Bug Fixing <br />
12+ [ tyeth] ( https://github.com/tyeth ) , [ dogac00] ( https://github.com/dogac00 )
1313
14- ## Contribution Guidelines
15- 1 - New ideas, suggestions and improvements are welcomed. <br />
16- 2 - Create a unit test with the expected output and work from there <br />
17- 3 - If you're submitting a new bug, check to see if It's already submitted. Propose a brief solution to the problem to make it easier for other people to fix. <br />
18- 4 - Enjoy coding :) ! <br />
14+ ## Architecture Overview
15+ ![ Json2CsharpArchitecture drawio] ( https://user-images.githubusercontent.com/67238834/200273043-6e13fc15-2884-44d8-bf77-be3fc36b46d3.png )
16+ The architecture of the project is segmented into two parts.
17+ - Part 1: Consuming the JSON input. In this phase, the below is generally done:
18+ - Parse the Json string
19+ - Create a list of JObjects from the parsed string
20+ - Create a dictionary of JObject types/ Understand how the json is structured
21+ - Part 2: Write The Output using the supplied ICodeWriter interface
22+ - Using the property injected in the * JsonClassGenerator* class, the corresponding concrete code writer is called and the writing process begins
23+ - The code write can be configured using the configuration classes in the * CodeWriteConfiguration* folder
24+ - Create a dictionary of JObject types/ Understand how the json is structured
25+ - Finally, the * GenerateClasses* in the * JsonClassGenerator* class will return a StringBuilder instance that contains all the written classes
26+
27+ ## Roadmap
1928
2029## Bug Fixing
2130### 1- Choose a problem from the issues labeled "Bug" or "Help Wanted"
2231### 2- Clone the repository and build it
23- ### 3- Create a Unit Test using "CreatTest.ps1" Powershell Script
32+ ### 3- Create a Unit Test using "CreatTest.ps1" Powershell Script or copy paste existing unit tests and follow naming conventions
2433** >>>>> Unit Test Name should be in the format of "[ TestNumber] _ [ DescribeProblem] "**
2534* Run the script in Powershell
2635* This will create 3 files: the csharp test, the Json Input text file, and the Output C# or JAVA etc.. file
2736![ alt text] ( https://json2csharp.azureedge.net/images/github-repo-images/Test%20Files.png )
2837* Start Debugging, Put some test Json and Get to Know the solution
29- *
30- ## Implementing New Code Generators : F#, Typescript etc.. ?
31- Implement the below functions
32- ![ alt text] ( https://json2csharp.azureedge.net/images/github-repo-images/IMPLEMENT.png )
33-
3438
0 commit comments