Skip to content

Commit

Permalink
Completed Week-1
Browse files Browse the repository at this point in the history
  • Loading branch information
Harsh-0986 committed Feb 1, 2024
1 parent 01bbec8 commit 9652179
Show file tree
Hide file tree
Showing 12 changed files with 63 additions and 1,168 deletions.
1 change: 0 additions & 1 deletion docs/04 Architectures of App.md

This file was deleted.

38 changes: 38 additions & 0 deletions docs/04 Architectures of Platforms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Architectures of Platforms.

For web apps, an architecture means how are devices connected over the network.

There are mainly two types of web apps namely,

- Client-Server Architecture
- Peer-2-Peer Architecture

## Client Server Architecture

- There is an explicit difference between the server and the client
- Machine clients are also available that do not need a user interaction to perform its task.
- There are several other variants of this architecture, i.e., multiple server, multiple client, multiple queue, etc.

- Examples: Emails, Messaging Apps, etc.

A pictoral representation of client-server architecture is given below.

<figure markdown>
![Client-server-model](assets/Client-Server-Model.png)
<figcaption>Client Server Model</figcaption>
</figure>

## Peer to Peer Architecture (P2P Model)

- All the devices connected to P2P are given same priority but some peers marked by masters are given higher priority.
- There are not owners of the network but masters or moderators are always present.
- The files are still encrypted with keys to only the owner.
- The information is shared.
- Examples: Web-3, Torrent Clients, IPFS, etc.

A pictoral representation of peer-2-peer architecture is given below.

<figure markdown>
![Client-server-model](assets/Peer-to-Peer-Model.png)
<figcaption>P2P Model</figcaption>
</figure>
21 changes: 21 additions & 0 deletions docs/05 Architectures of Software.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Software Architecture Patterns

## What is a design pattern?

> "In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design.".
- Senior developers observe a "pattern" in the code and helps the juniors to get their hands-on to the pattern so that the code becomes cleaner and efficient.

## MVC Paradigm (Model-View-Controller Paradigm)

- Model: The core data stored for the application, e.g., databases.
- View: The front-end for your application that the user uses.
- Controller: The manipulation of data.

> User uses the **controller** to manipulate **model** that updates **view**.
- Example:
<figure>
![Email MVC](/assets/MVC-Paradigm.png)
<figcaption>MVC Paradigm when using Email Client</figcaption>
</figure>
3 changes: 3 additions & 0 deletions docs/Basic terminologies of Web/03 Peformance of a site.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Performance of a site

## Latency
Binary file added docs/assets/Client-Server-Model.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/MVC-Paradigm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Peer-to-Peer-Model.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ theme:
- navigation.footer

markdown_extensions:
- md_in_html
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
Expand Down
Loading

0 comments on commit 9652179

Please sign in to comment.