Skip to content

Commit 12adae9

Browse files
authored
Create README.md
1 parent 40053ee commit 12adae9

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

README.md

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,31 @@ Implemented Immutable Classes Feature <br/>
88
Implemented 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

Comments
 (0)