# aryansingh257/typescript architecture

> Architecture diagram of the GitHub repository aryansingh257/typescript, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/aryansingh257/typescript
- Repository: https://github.com/aryansingh257/typescript

## Overview

This repository is a collection of independent JavaScript/TypeScript practice programs, not one integrated application. Its exercises cover calculations, data transformation, browser widgets, and quiz behavior. The sampled quiz app shows a landing page that navigates to a timed quiz, which fetches its questions; the remaining exercises are represented as standalone capabilities based on the README and tree, without inferred links between them.

Main entry points: [`Quiz/src/routes/quiz/+page.svelte`](https://github.com/aryansingh257/typescript/blob/main/Quiz/src/routes/quiz/%2Bpage.svelte) (Timed Quiz), [`Quiz/src/routes/+page.svelte`](https://github.com/aryansingh257/typescript/blob/main/Quiz/src/routes/%2Bpage.svelte) (Quiz Rules Page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_basics["Basic Utilities"]
  node_greeting["Greeting Builder<br/>[greeting.ts]"]
  node_temperature["Temperature Converter<br/>[temp.ts]"]
  node_number["Number Checker<br/>[numberer.ts]"]
  node_string["String Formatter<br/>[string.ts]"]
  node_age["Age Calculator<br/>[script.js]"]
end

subgraph group_data["Data Exercises"]
  node_pricing["Price Calculator<br/>[pricing.ts]"]
  node_cart["Cart Total<br/>[cart.ts]"]
  node_grader["Grade Report<br/>[grader.ts]"]
  node_tasks["Task Utilities<br/>[taskutils.ts]"]
  node_expenses["Expense Summary<br/>[expenses.ts]"]
  node_products["Product Search<br/>[producting.ts]"]
  node_profile["Profile Formatter<br/>[user.ts]"]
  node_normalizer["JSON Normalizer<br/>[JSONormalizer.ts]"]
  node_order["Order Status"]
end

subgraph group_browser["Browser Widgets"]
  node_tabs["Tabs Widget<br/>[main.ts]"]
  node_cookies["Cookie Consent<br/>[script.js]"]
  node_accordion["Accordion<br/>[script.js]"]
  node_restricted["Restricted Text<br/>[script.js]"]
end

subgraph group_quiz["Quiz Programs"]
  node_quizscore["Quiz Score Calculator<br/>[quizsir.ts]"]
  node_quizhome["Quiz Rules Page<br/>[+page.svelte]"]
  node_quizplay["Timed Quiz<br/>[+page.svelte]"]
end

node_visitor(("Quiz Participant"))
node_questiondata["Question Resource"]

node_visitor -->|"views rules"| node_quizhome
node_quizhome -->|"navigates to"| node_quizplay
node_quizplay -->|"fetches questions"| node_questiondata
node_visitor -->|"answers questions"| node_quizplay

click node_greeting "https://github.com/aryansingh257/typescript/blob/main/greeting.ts"
click node_temperature "https://github.com/aryansingh257/typescript/blob/main/temp.ts"
click node_number "https://github.com/aryansingh257/typescript/blob/main/numberer.ts"
click node_string "https://github.com/aryansingh257/typescript/blob/main/string.ts"
click node_age "https://github.com/aryansingh257/typescript/blob/main/ageCalculator/script.js"
click node_pricing "https://github.com/aryansingh257/typescript/blob/main/pricing.ts"
click node_cart "https://github.com/aryansingh257/typescript/blob/main/cart.ts"
click node_grader "https://github.com/aryansingh257/typescript/blob/main/grader.ts"
click node_tasks "https://github.com/aryansingh257/typescript/blob/main/taskutils.ts"
click node_expenses "https://github.com/aryansingh257/typescript/blob/main/expenses.ts"
click node_products "https://github.com/aryansingh257/typescript/blob/main/producting.ts"
click node_profile "https://github.com/aryansingh257/typescript/blob/main/user.ts"
click node_normalizer "https://github.com/aryansingh257/typescript/blob/main/JSONormalizer.ts"
click node_order "https://github.com/aryansingh257/typescript/blob/main/orderStatusHelper.ts"
click node_tabs "https://github.com/aryansingh257/typescript/blob/main/Tab/main.ts"
click node_cookies "https://github.com/aryansingh257/typescript/blob/main/Cookies/script.js"
click node_accordion "https://github.com/aryansingh257/typescript/blob/main/Accordion/script.js"
click node_restricted "https://github.com/aryansingh257/typescript/blob/main/restrictedText/script.js"
click node_quizscore "https://github.com/aryansingh257/typescript/blob/main/quizsir.ts"
click node_quizhome "https://github.com/aryansingh257/typescript/blob/main/Quiz/src/routes/%2Bpage.svelte"
click node_quizplay "https://github.com/aryansingh257/typescript/blob/main/Quiz/src/routes/quiz/%2Bpage.svelte"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_greeting,node_temperature,node_number,node_string,node_age toneBlue
class node_pricing,node_cart,node_grader,node_tasks,node_expenses,node_products,node_profile,node_normalizer,node_order toneAmber
class node_tabs,node_cookies,node_accordion,node_restricted toneMint
class node_quizscore,node_quizhome,node_quizplay toneRose
class node_visitor,node_questiondata toneIndigo
```

## Components

### Basic Utilities

- [Greeting Builder](https://github.com/aryansingh257/typescript/blob/main/greeting.ts): `greeting.ts`
- [Temperature Converter](https://github.com/aryansingh257/typescript/blob/main/temp.ts): `temp.ts`
- [Number Checker](https://github.com/aryansingh257/typescript/blob/main/numberer.ts): `numberer.ts`
- [String Formatter](https://github.com/aryansingh257/typescript/blob/main/string.ts): `string.ts`
- [Age Calculator](https://github.com/aryansingh257/typescript/blob/main/ageCalculator/script.js): `ageCalculator/script.js`

### Data Exercises

- [Price Calculator](https://github.com/aryansingh257/typescript/blob/main/pricing.ts): `pricing.ts`
- [Cart Total](https://github.com/aryansingh257/typescript/blob/main/cart.ts): `cart.ts`
- [Grade Report](https://github.com/aryansingh257/typescript/blob/main/grader.ts): `grader.ts`
- [Task Utilities](https://github.com/aryansingh257/typescript/blob/main/taskutils.ts): `taskutils.ts`
- [Expense Summary](https://github.com/aryansingh257/typescript/blob/main/expenses.ts): `expenses.ts`
- [Product Search](https://github.com/aryansingh257/typescript/blob/main/producting.ts): `producting.ts`
- [Profile Formatter](https://github.com/aryansingh257/typescript/blob/main/user.ts): `user.ts`
- [JSON Normalizer](https://github.com/aryansingh257/typescript/blob/main/JSONormalizer.ts): `JSONormalizer.ts`
- [Order Status](https://github.com/aryansingh257/typescript/blob/main/orderStatusHelper.ts): `orderStatusHelper.ts`

### Browser Widgets

- [Tabs Widget](https://github.com/aryansingh257/typescript/blob/main/Tab/main.ts): `Tab/main.ts`
- [Cookie Consent](https://github.com/aryansingh257/typescript/blob/main/Cookies/script.js): `Cookies/script.js`
- [Accordion](https://github.com/aryansingh257/typescript/blob/main/Accordion/script.js): `Accordion/script.js`
- [Restricted Text](https://github.com/aryansingh257/typescript/blob/main/restrictedText/script.js): `restrictedText/script.js`

### Quiz Programs

- [Quiz Score Calculator](https://github.com/aryansingh257/typescript/blob/main/quizsir.ts): `quizsir.ts`
- [Quiz Rules Page](https://github.com/aryansingh257/typescript/blob/main/Quiz/src/routes/%2Bpage.svelte): `Quiz/src/routes/+page.svelte`
- [Timed Quiz](https://github.com/aryansingh257/typescript/blob/main/Quiz/src/routes/quiz/%2Bpage.svelte): `Quiz/src/routes/quiz/+page.svelte`

### Other components

- **Quiz Participant**
- **Question Resource**

## Connections

- Quiz Participant → Quiz Rules Page: views rules
- Quiz Rules Page → Timed Quiz: navigates to
- Timed Quiz → Question Resource: fetches questions
- Quiz Participant → Timed Quiz: answers questions
