create account

Documenting the Application Architecture by codingdefined

View this thread on: hive.blogpeakd.comecency.com
· @codingdefined ·
$6.29
Documenting the Application Architecture
Recently 3 people in our team have started working on a project, where our task was to add a new feature to an existing product. Since the product was already there, our tasks were to go through the application architecture, study the code, add the new feature and then get it reviewed by the original developer.


![image.png](https://files.peakd.com/file/peakd-hive/codingdefined/23tHEY63NsKfSrEdn3bETLTg94Tfm2ghs1mfXyyryCPLvXyij3wB73dr4GJ147w1qBjFL.png)
PC: Pixabay.com

Now the project did not have the application architecture, so we had to document the application architecture first and then start working on it. Now the problem was we had only one contact and thus it was very hard to get his time. Still, we have got the overview of it and started documenting it. This is the problem you get when the original maintainer doesn't spend much time documenting the architecture.

We usually spend a lot of time documenting the application architecture whether it's a simple project or a complex one. Since every project constantly evolves we have to update the architecture accordingly. Though we don't have a fixed standard of documentation, we have certain guidelines for what diagram we have to use. Though there can be a lot of writings, people mainly understand better with diagrams and thus for us, it's compulsory to explain the text with the diagrams.

The first diagram is Context Diagram and this is a compulsory one where the diagram is all about what the application is all about. We do not need to know the technical details here and thus this is being used by the managers to explain to the stakeholders about the application as a whole.

For example:

The below shows how the Context Diagram looks like and what will be the flow.

![contextDiagram.PNG](https://files.peakd.com/file/peakd-hive/codingdefined/23tHbr9ym7rCUt6treCnD6ixYeVKdZR6dbrC35bu7G4MVXtgSabBWxNsrRMfKXEuj978e.PNG)

Then comes the Container Diagram, in this, we create containers based on every separate service, diagram or storage we are using. Like for example, API will be a container, a database, a Frontend etc will be a container. This is mainly about the technologies we are using and we can say this is all about the technical architecture of an application.

Then comes the Component Diagram, where we will be focusing on the building blocks of every container. This is where how the implementation details will be visible. Let's say we have an API show the call will be made, and the data going to DB and any other integration we have to make the API call everything will be documented in this step. One thing to note here is that we will not be putting every detail in the component diagram, but we will focus on those that are the most important ones.

Then comes the Code Diagram, this is updated most frequently and it is the developer's responsibility to update it. Though we have an extension as well as document properties that actually creates the Code Diagram for us. It's just a matter of updating it whenever any new interfaces or any new class is being introduced.

Last is the Sequence Diagram, this is mainly for a feature. If we are implementing a new feature then what exactly we are going to change and how the application will respond is all about the sequence diagram.
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authorcodingdefined
permlinkdocumenting-the-application-architecture
categoryhive-163521
json_metadata"{"app":"peakd/2021.05.5","format":"markdown","description":"This post is all about how to document your application architecture which will be useful for the other developers.","tags":["india","neoxian","palnet","proofofbrain","development","programming","stem","document","archon","diagram"],"users":[],"image":["https://files.peakd.com/file/peakd-hive/codingdefined/23tHEY63NsKfSrEdn3bETLTg94Tfm2ghs1mfXyyryCPLvXyij3wB73dr4GJ147w1qBjFL.png","https://files.peakd.com/file/peakd-hive/codingdefined/23tHbr9ym7rCUt6treCnD6ixYeVKdZR6dbrC35bu7G4MVXtgSabBWxNsrRMfKXEuj978e.PNG"]}"
created2021-06-05 10:07:39
last_update2021-06-05 10:07:39
depth0
children5
last_payout2021-06-12 10:07:39
cashout_time1969-12-31 23:59:59
total_payout_value3.224 HBD
curator_payout_value3.069 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length3,284
author_reputation363,979,775,117,856
root_title"Documenting the Application Architecture"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id104,143,302
net_rshares11,258,465,387,688
author_curate_reward""
vote details (57)
@alfonsoalfonsi ·
Hi, @codingdefined very nice your post. You do walk-through modeling expressions that lead to coding in an application. Particularly, I am given guidelines based on architectures and of course models. The application will run its course if the above is carried out, even being the de rigueur updates. Thank you.
properties (22)
authoralfonsoalfonsi
permlinkquaocm
categoryhive-163521
json_metadata{"users":["codingdefined"],"app":"hiveblog/0.1"}
created2021-06-06 19:25:27
last_update2021-06-06 19:25:27
depth1
children1
last_payout2021-06-13 19:25:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length311
author_reputation12,520,973,524,509
root_title"Documenting the Application Architecture"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id104,172,277
net_rshares0
@codingdefined ·
Thanks for the comment, cheers
properties (22)
authorcodingdefined
permlinkre-alfonsoalfonsi-qul17o
categoryhive-163521
json_metadata{"tags":["hive-163521"],"app":"peakd/2021.06.2"}
created2021-06-12 09:32:42
last_update2021-06-12 09:32:42
depth2
children0
last_payout2021-06-19 09:32:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length30
author_reputation363,979,775,117,856
root_title"Documenting the Application Architecture"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id104,284,246
net_rshares0
@ecency ·
Your content has been **voted** as a part of [Encouragement program](https://ecency.com/ecency/@good-karma/encouragement-program-continues-82eafcd10a299). Keep up the good work! <br><br>Use Ecency daily to boost your growth on platform! <br><br><b>Support Ecency</b><br>[Vote for Proposal](https://hivesigner.com/sign/update-proposal-votes?proposal_ids=%5B141%5D&approve=true)<br>[Delegate HP and earn more](https://ecency.com/hive-125125/@ecency/daily-100-curation-rewards)
properties (22)
authorecency
permlinkre-202165t172823752z
categoryhive-163521
json_metadata{"tags":["ecency"],"app":"ecency/3.0.16-welcome","format":"markdown+html"}
created2021-06-05 17:28:24
last_update2021-06-05 17:28:24
depth1
children0
last_payout2021-06-12 17:28:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length474
author_reputation544,855,813,871,543
root_title"Documenting the Application Architecture"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id104,149,754
net_rshares0
@noodle-code ·
Im no expert, but did you guys try using swagger? It documents all your API's in a neat webpage where you can also try it out. I found it very useful :) 
properties (22)
authornoodle-code
permlinkre-codingdefined-quaiqp
categoryhive-163521
json_metadata{"tags":["hive-163521"],"app":"peakd/2021.05.5"}
created2021-06-06 17:18:27
last_update2021-06-06 17:18:27
depth1
children1
last_payout2021-06-13 17:18:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length153
author_reputation138,112,012,381
root_title"Documenting the Application Architecture"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id104,170,309
net_rshares0
@codingdefined ·
Yes it is, but that is only useful when someone is actually using your API, here its all about documenting whole architecture
properties (22)
authorcodingdefined
permlinkre-noodle-code-qul176
categoryhive-163521
json_metadata{"tags":["hive-163521"],"app":"peakd/2021.06.2"}
created2021-06-12 09:32:24
last_update2021-06-12 09:32:24
depth2
children0
last_payout2021-06-19 09:32:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length125
author_reputation363,979,775,117,856
root_title"Documenting the Application Architecture"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id104,284,243
net_rshares0