From ce1e7617cd0115c03386a47584c4c99187106619 Mon Sep 17 00:00:00 2001 From: Ajay-Dhangar Date: Mon, 6 Jan 2025 15:29:51 +0530 Subject: [PATCH] Solve Error: Logging at level (debug GitHub Pages) --- docs/CSS/css-basics/CSS-Animations.md | 185 -------- docs/JWT/Advanced-topic.md | 108 ----- docs/JWT/Components.md | 105 ----- docs/JWT/Introduction.md | 90 ---- docs/JWT/_category_.json | 8 - docs/JWT/creating-and-verfy.md | 120 ------ docs/JWT/implement.md | 406 ------------------ docs/JWT/security-Consideration.md | 109 ----- .../Next.js API routes/API middlewares.md | 86 ---- docs/NextJs/Next.js API routes/API routes.md | 92 ---- .../Next.js API routes/Responsehelper.md | 61 --- docs/NextJs/Next.js API routes/_category.json | 8 - docs/NextJs/Next.js Features/_category.json | 8 - docs/NextJs/Next.js Features/metadata.md | 106 ----- docs/NextJs/Next.js Features/pages.md | 112 ----- .../Next.js Features/statcfileserving.md | 77 ---- .../Next.js - Imperative Routing.md | 72 ---- .../Next.js - Shallow Routing.md | 71 --- .../Next.js Routing/Next.js -Routing.md | 125 ------ .../Next.js-Dynamic API Routing.md | 206 --------- docs/NextJs/Next.js Routing/_category.json | 8 - docs/NextJs/emty.png | Bin 1559 -> 0 bytes docs/NextJs/image.png | Bin 195743 -> 0 bytes docs/NextJs/index.md | 69 --- docs/NextJs/resources.md | 24 -- docs/Nodemailer/BasicExample.md | 106 ----- docs/React Native/Bridge.md | 101 ----- docs/React Native/Components.md | 171 -------- docs/Vue.js/ComponentBased.md | 78 ---- docs/Vue.js/ComputedPropertiesAndWatchers.md | 172 -------- docs/Vue.js/DeclarativeRendering.md | 72 ---- docs/Vue.js/Directives.md | 90 ---- docs/Vue.js/Routing.md | 176 -------- docs/Vue.js/StateManagement.md | 141 ------ docs/Vue.js/TransitionAndAnimation.md | 117 ----- docs/Vue.js/Two-WayDataBinding.md | 87 ---- docs/Vue.js/intro.md | 104 +++++ docs/Vue.js/whatIsVue.md | 31 -- docs/WebSocket/Backend.md | 73 ---- docs/{NextJs => next-js}/_category_.json | 2 +- docs/next-js/_scripts/Home.tsx | 106 +++++ docs/next-js/getting-started.md | 67 +++ .../Debugging.md | 0 .../Introduction.md | 0 docs/{React Native => react-native}/JSX.md | 0 .../NativeModules.md | 0 .../{React Native => react-native}/Styling.md | 0 .../_category_.json | 0 docs/{ViewEngine => view-engine}/EJS.md | 0 docs/{ViewEngine => view-engine}/HBS.md | 0 .../Introduction.md | 0 docs/{ViewEngine => view-engine}/PUG.md | 0 .../_category_.json | 2 +- .../{WebSocket => web-socket}/Introduction.md | 0 .../{WebSocket => web-socket}/_category_.json | 2 +- .../web-socket-client.md} | 0 docusaurus.config.js | 2 +- src/css/custom.css | 4 +- static/icons/file.svg | 1 + static/icons/globe.svg | 1 + static/icons/next-dark.svg | 1 + static/icons/next-light.svg | 1 + static/icons/vercel.svg | 1 + static/icons/window.svg | 1 + 64 files changed, 289 insertions(+), 3677 deletions(-) delete mode 100644 docs/CSS/css-basics/CSS-Animations.md delete mode 100644 docs/JWT/Advanced-topic.md delete mode 100644 docs/JWT/Components.md delete mode 100644 docs/JWT/Introduction.md delete mode 100644 docs/JWT/_category_.json delete mode 100644 docs/JWT/creating-and-verfy.md delete mode 100644 docs/JWT/implement.md delete mode 100644 docs/JWT/security-Consideration.md delete mode 100644 docs/NextJs/Next.js API routes/API middlewares.md delete mode 100644 docs/NextJs/Next.js API routes/API routes.md delete mode 100644 docs/NextJs/Next.js API routes/Responsehelper.md delete mode 100644 docs/NextJs/Next.js API routes/_category.json delete mode 100644 docs/NextJs/Next.js Features/_category.json delete mode 100644 docs/NextJs/Next.js Features/metadata.md delete mode 100644 docs/NextJs/Next.js Features/pages.md delete mode 100644 docs/NextJs/Next.js Features/statcfileserving.md delete mode 100644 docs/NextJs/Next.js Routing/Next.js - Imperative Routing.md delete mode 100644 docs/NextJs/Next.js Routing/Next.js - Shallow Routing.md delete mode 100644 docs/NextJs/Next.js Routing/Next.js -Routing.md delete mode 100644 docs/NextJs/Next.js Routing/Next.js-Dynamic API Routing.md delete mode 100644 docs/NextJs/Next.js Routing/_category.json delete mode 100644 docs/NextJs/emty.png delete mode 100644 docs/NextJs/image.png delete mode 100644 docs/NextJs/index.md delete mode 100644 docs/NextJs/resources.md delete mode 100644 docs/Nodemailer/BasicExample.md delete mode 100644 docs/React Native/Bridge.md delete mode 100644 docs/React Native/Components.md delete mode 100644 docs/Vue.js/ComponentBased.md delete mode 100644 docs/Vue.js/ComputedPropertiesAndWatchers.md delete mode 100644 docs/Vue.js/DeclarativeRendering.md delete mode 100644 docs/Vue.js/Directives.md delete mode 100644 docs/Vue.js/Routing.md delete mode 100644 docs/Vue.js/StateManagement.md delete mode 100644 docs/Vue.js/TransitionAndAnimation.md delete mode 100644 docs/Vue.js/Two-WayDataBinding.md create mode 100644 docs/Vue.js/intro.md delete mode 100644 docs/Vue.js/whatIsVue.md delete mode 100644 docs/WebSocket/Backend.md rename docs/{NextJs => next-js}/_category_.json (90%) create mode 100644 docs/next-js/_scripts/Home.tsx create mode 100644 docs/next-js/getting-started.md rename docs/{React Native => react-native}/Debugging.md (100%) rename docs/{React Native => react-native}/Introduction.md (100%) rename docs/{React Native => react-native}/JSX.md (100%) rename docs/{React Native => react-native}/NativeModules.md (100%) rename docs/{React Native => react-native}/Styling.md (100%) rename docs/{React Native => react-native}/_category_.json (100%) rename docs/{ViewEngine => view-engine}/EJS.md (100%) rename docs/{ViewEngine => view-engine}/HBS.md (100%) rename docs/{ViewEngine => view-engine}/Introduction.md (100%) rename docs/{ViewEngine => view-engine}/PUG.md (100%) rename docs/{ViewEngine => view-engine}/_category_.json (90%) rename docs/{WebSocket => web-socket}/Introduction.md (100%) rename docs/{WebSocket => web-socket}/_category_.json (92%) rename docs/{WebSocket/FrontEnd.md => web-socket/web-socket-client.md} (100%) create mode 100644 static/icons/file.svg create mode 100644 static/icons/globe.svg create mode 100644 static/icons/next-dark.svg create mode 100644 static/icons/next-light.svg create mode 100644 static/icons/vercel.svg create mode 100644 static/icons/window.svg diff --git a/docs/CSS/css-basics/CSS-Animations.md b/docs/CSS/css-basics/CSS-Animations.md deleted file mode 100644 index 40d1f1ece..000000000 --- a/docs/CSS/css-basics/CSS-Animations.md +++ /dev/null @@ -1,185 +0,0 @@ ---- -id: css-animations -title: CSS Animations -sidebar_label: CSS Animations -tags: [html, introduction, web development, markup language, hyper text, web pages, career opportunities, personal growth, web-development, web design, web pages, websites, career opportunities, contribute to the web, stay relevant, express yourself, learn other technologies, have fun, how to use html, steps to start using html, set up your development environment, create your first html document, learn html syntax and structure, explore html elements and-attributes] -description: In this tutorial you will learn about animations in CSS ---- - -## What are CSS Animations? -An animation lets an element gradually change from one style to another. -You can change as many CSS properties you want, as many times as you want. -To use CSS animation, you must first specify some keyframes for the animation. - -Keyframes hold what styles the element will have at certain times. - -## The `@keyframes` Rule -When you specify CSS styles inside the `@keyframes` rule, the animation will gradually change from the current style to the new style at certain times. -To get an animation to work, you must bind the animation to an element. - -```css -/* The animation code */ -@keyframes example { - from {background-color: red;} - to {background-color: yellow;} -} - -/* The element to apply the animation to */ -div{ - width: 100px; - height: 100px; - background-color: red; - animation-name: example; - animation-duration: 4s; -} -``` - -
- Hello World! -
- -
- -The `animation-duration` property defines how long an animation should take to complete. If the `animation-duration` property is not specified, no animation will occur, because the default value is 0s (0 seconds). -In the example above we have specified when the style will change by using the keywords "from" and "to" (which represents `0%` (start) and `100%` (complete)). -It is also possible to use percent. By using percent, you can add as many style changes as you like. - -## Delay an Animation -The `animation-delay` property specifies a delay for the start of an animation. - -```css -div { - width: 100px; - height: 100px; - position: relative; - background-color: red; - animation-name: example; - animation-duration: 4s; - animation-delay: 2s; -} -``` - -
- Hello World! -
- -
- -# Times animation should run -The `animation-iteration-count` property specifies the number of times an animation should run. - -```css -div { - width: 100px; - height: 100px; - position: relative; - background-color: red; - animation-name: example; - animation-duration: 4s; - animation-iteration-count: 3; -} -``` - - -
- Hello World! -
- -
- -# Direction of the animation - -The `animation-direction` property specifies whether an animation should be played forwards, backwards or in alternate cycles. - -The `animation-direction` property can have the following values: - -- `normal` - The animation is played as normal (forwards). This is default -- `reverse` - The animation is played in reverse direction (backwards) -- `alternate` - The animation is played forwards first, then backwards -- `alternate-reverse` - The animation is played backwards first, then forwards - -```css -div { - width: 100px; - height: 100px; - position: relative; - background-color: red; - animation-name: example; - animation-duration: 4s; - animation-direction: reverse; -} -``` - -
- Hello World! -
- -
- - - diff --git a/docs/JWT/Advanced-topic.md b/docs/JWT/Advanced-topic.md deleted file mode 100644 index 51f3fca98..000000000 --- a/docs/JWT/Advanced-topic.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -id: advanced-jwt-topics -title: Advanced Topics -sidebar_label: Advanced Technique -sidebar_position: 6 -tags: [JWT, web development, Security] -description: Advanced JWT Technique. ---- - -#### JWT in OAuth 2.0 and OpenID Connect - -**How JWT is Used in These Protocols**: -:::note -- **OAuth 2.0**: - - **Access Tokens**: In OAuth 2.0, JWTs are often used as access tokens to grant access to resources. The token includes information about the scopes and permissions granted. - - **Bearer Tokens**: OAuth 2.0 can use JWTs as bearer tokens that are sent in HTTP headers to authenticate API requests. -::: - - Example (OAuth 2.0 Access Token in HTTP Header): - ```http - Authorization: Bearer - ``` - -- **OpenID Connect (OIDC)**: - - **ID Tokens**: OpenID Connect, an identity layer on top of OAuth 2.0, uses JWTs as ID tokens. These tokens provide information about the user and their authentication. - - **Claims**: The ID token contains claims about the user, such as their identity, and is used to establish a session in the client application. - - Example (ID Token Claims): - ```json - { - "iss": "https://issuer.com", - "sub": "user123", - "aud": "client_id", - "exp": 1618694400, - "iat": 1618690800, - "name": "John Doe", - "email": "john.doe@example.com" - } - ``` - - -**Benefits of Using JWT in OAuth 2.0**: -- **Statelessness**: JWTs are self-contained, meaning they carry all necessary information in the token itself, which eliminates the need for server-side session storage. -- **Scalability**: Since JWTs are self-contained, they enable scalable distributed systems without the need for centralized session management. -- **Flexibility**: JWTs support various signing algorithms, allowing flexibility in terms of security and performance based on the use case. - -#### Handling Large Payloads - -**Compressing the Payload**: -- **Purpose**: Compressing the payload reduces the size of the JWT, which can be important for performance, especially when transmitting large amounts of data. -- **Techniques**: - - **Deflate**: Use compression algorithms such as gzip or deflate before encoding the payload. - - Example (Compression in JavaScript): - ```javascript - const pako = require('pako'); - - // Compress the payload - const compressedPayload = pako.deflate(JSON.stringify(payload), { to: 'string' }); - - // Encode and sign the compressed payload - const token = jwt.sign({ data: compressedPayload }, secret); - ``` - -- **Considerations**: Ensure that both the issuer and the consumer of the token can handle the compression and decompression of the payload. - -**Handling Large Claims Sets**: -- **Splitting Claims**: If the claims set is large, consider splitting the data into multiple tokens or using a combination of tokens and other storage mechanisms. -- **Using External References**: Store large data externally and include a reference or URL in the JWT. This approach reduces the token size and helps manage large claims effectively. - -#### Custom Claims and Namespaces - -**Defining and Using Custom Claims**: -- **Purpose**: Custom claims allow you to include additional data specific to your application’s needs. -- **How to Define**: Add custom claims to the payload when creating the JWT. - - Example (Adding Custom Claims): - ```javascript - const payload = { - sub: "user123", - role: "admin", - permissions: ["read", "write"] - }; - - const token = jwt.sign(payload, secret); - ``` - -- **Best Practices**: Ensure that custom claims are used consistently and are well-documented. - -**Namespacing to Avoid Conflicts**: -- **Purpose**: Namespacing helps avoid conflicts between custom claims and standard claims or between different applications. -- **How to Namespace**: Use a consistent naming convention for custom claims, such as prefixing with your application's domain. - - Example (Namespaced Custom Claims): - ```json - { - "sub": "user123", - "http://example.com/roles": ["admin"], - "http://example.com/permissions": ["read", "write"] - } - ``` - - -:::tip -1. **JWT in OAuth 2.0 and OpenID Connect**: JWTs are integral to these protocols, used for access and ID tokens, offering benefits like statelessness and scalability. -2. **Handling Large Payloads**: Compress payloads to reduce size and handle large claims by splitting data or using external references. -3. **Custom Claims and Namespaces**: Define custom claims to include specific application data and use namespacing to avoid conflicts with standard claims or between different applications. -::: \ No newline at end of file diff --git a/docs/JWT/Components.md b/docs/JWT/Components.md deleted file mode 100644 index fa3979f4a..000000000 --- a/docs/JWT/Components.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -id: jwt-components -title: JWT Components -sidebar_label: Components -sidebar_position: 2 -tags: [JWT, web development, Security] -description: JWT Components. ---- - -#### Header - -**Structure and Format**: -The header of a JWT is a JSON object that contains two main pieces of information: the type of the token and the signing algorithm being used. - -**Common Fields**: -- **alg**: Specifies the algorithm used to sign the token, such as HMAC SHA256 (HS256) or RSA (RS256). -- **typ**: Specifies the type of the token, which is usually set to "JWT". - -Example Header: -```json -{ - "alg": "HS256", - "typ": "JWT" -} -``` -This JSON object is then base64Url encoded to form the first part of the JWT. - -#### Payload - -The payload contains the claims. Claims are statements about an entity (typically, the user) and additional data. There are three types of claims: - -**Registered Claims**: -These are a set of predefined claims which are not mandatory but recommended to provide a set of useful, interoperable claims: -:::important -- **iss (issuer)**: Identifies the principal that issued the JWT. -- **sub (subject)**: Identifies the principal that is the subject of the JWT. -- **aud (audience)**: Identifies the recipients that the JWT is intended for. -- **exp (expiration time)**: Identifies the expiration time on or after which the JWT must not be accepted for processing. -- **nbf (not before)**: Identifies the time before which the JWT must not be accepted for processing. -- **iat (issued at)**: Identifies the time at which the JWT was issued. -- **jti (JWT ID)**: Provides a unique identifier for the JWT. -::: - -Example Payload with Registered Claims: -```json -{ - "iss": "example.com", - "sub": "user123", - "aud": "example.com", - "exp": 1618704000, - "nbf": 1618700400, - "iat": 1618700400, - "jti": "unique-id-123" -} -``` - -**Public Claims**: -These claims can be defined at will by those using JWTs but should be defined in the IANA JSON Web Token Registry to avoid collisions. - -Example Public Claims: -```json -{ - "role": "admin", - "username": "johndoe" -} -``` - -**Private Claims**: -These are custom claims created to share information between parties that agree on using them. These claims are not registered or public, thus avoiding collisions in usage. - -Example Private Claims: -```json -{ - "customClaim": "customValue" -} -``` - -This JSON object is then base64Url encoded to form the second part of the JWT. - -#### Signature - -**How It's Created**: -To create the signature part, you have to take the encoded header, the encoded payload, a secret key, and the algorithm specified in the header, and sign that. - -For example, if you use the HMAC SHA256 algorithm, the signature will be created in the following way: -``` -HMACSHA256( - base64UrlEncode(header) + "." + - base64UrlEncode(payload), - secret -) -``` - -**Purpose and Importance**: -The signature is used to verify that the sender of the JWT is who it says it is (authentication) and to ensure that the message wasn't changed along the way (integrity). When the recipient receives the token, they can decode the header and payload, but they must verify the signature using the secret key to ensure that the token is valid and has not been tampered with. - -Example JWT Signature: -```json -HMACSHA256( - base64UrlEncode(header) + "." + - base64UrlEncode(payload), - secret -) -``` - \ No newline at end of file diff --git a/docs/JWT/Introduction.md b/docs/JWT/Introduction.md deleted file mode 100644 index 29e38d5bb..000000000 --- a/docs/JWT/Introduction.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -id: jwt-turorial -title: What is JWT? -sidebar_label: Introduction -sidebar_position: 1 -tags: [JWT, web development, Security] -description: JSON Web Token (JWT) is an open standard (RFC 7519) for securely transmitting information between parties as a JSON object. ---- - -**Definition and Purpose**: -JSON Web Token (JWT) is an open standard (RFC 7519) for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with HMAC algorithm) or a public/private key pair using RSA or ECDSA. - -**Typical Use Cases**: -- **Authentication**: After a user logs in, the server generates a JWT and sends it to the client. The client then sends this token in subsequent requests, allowing the server to verify the user's identity. -- **Information Exchange**: JWTs can securely transmit information between parties because they can be signed, ensuring the data's integrity and authenticity. - -#### JWT Structure - -A JWT is composed of three parts, separated by dots (`.`): - -1. **Header** -2. **Payload** -3. **Signature** - -Each part is base64Url encoded and concatenated with dots. - -**Header**: -The header typically consists of two parts: the type of the token, which is JWT, and the signing algorithm being used, such as HMAC SHA256 or RSA. - -:::important -Example: -```json -{ - "alg": "HS256", - "typ": "JWT" -} -``` -::: - -This JSON is then Base64Url encoded to form the first part of the JWT. - -:::important -**Payload**: -The payload contains the claims. Claims are statements about an entity (typically, the user) and additional data. There are three types of claims: -- **Registered Claims**: These are predefined claims which are not mandatory but recommended, to provide a set of useful, interoperable claims. Some examples are `iss` (issuer), `exp` (expiration time), `sub` (subject), and `aud` (audience). -- **Public Claims**: These can be defined at will by those using JWTs but should be defined in the IANA JSON Web Token Registry to avoid collisions. -- **Private Claims**: These are custom claims created to share information between parties that agree on using them. -::: -Example: -```json -{ - "sub": "1234567890", - "name": "John Doe", - "admin": true -} -``` - -This JSON is then Base64Url encoded to form the second part of the JWT. - -**Signature**: -To create the signature part, you have to take the encoded header, the encoded payload, a secret, and the algorithm specified in the header and sign that. - -For example, if you want to use the HMAC SHA256 algorithm, the signature will be created in the following way: -``` -HMACSHA256( - base64UrlEncode(header) + "." + - base64UrlEncode(payload), - secret -) -``` - -The signature is used to verify that the sender of the JWT is who it says it is and to ensure that the message wasn't changed along the way. - -**Putting It All Together**: -The output is three Base64Url strings separated by dots that can be easily passed in HTML and HTTP environments: -``` -xxxxx.yyyyy.zzzzz -``` - -### Example JWT: -A JWT might look like this: -``` -eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c -``` -:::note -- The first part (before the first dot) is the encoded header. -- The second part is the encoded payload. -- The third part is the signature. -::: - \ No newline at end of file diff --git a/docs/JWT/_category_.json b/docs/JWT/_category_.json deleted file mode 100644 index aa9f8e3d3..000000000 --- a/docs/JWT/_category_.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "JWT", - "position": 25, - "link": { - "type": "generated-index", - "description": "JSON Web Token (JWT) is an open standard (RFC 7519) for securely transmitting information between parties as a JSON object. It is commonly used for authentication and information exchange. " - } -} \ No newline at end of file diff --git a/docs/JWT/creating-and-verfy.md b/docs/JWT/creating-and-verfy.md deleted file mode 100644 index 8e6b23002..000000000 --- a/docs/JWT/creating-and-verfy.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -id: jwt-creating-verifying -title: Creating and Verifying JWTs -sidebar_label: Creating and Verifying -sidebar_position: 3 -tags: [JWT, web development, Security] -description: Creating and Verifying JWTs. ---- - -#### Creating JWTs - -**Steps to Create a JWT**: -1. **Define the Header**: - - The header typically consists of two parts: the type of the token (which is JWT) and the signing algorithm being used (e.g., HMAC SHA256 or RSA). - -2. **Define the Payload**: - - The payload contains the claims. These claims can be registered claims (like `iss`, `exp`, etc.), public claims, or private claims. - -3. **Encode the Header and Payload**: - - Both the header and the payload are JSON objects that need to be base64Url encoded. - -4. **Create the Signature**: - - The signature is created by taking the encoded header and payload, a secret key (or private key if using RSA/ECDSA), and the algorithm specified in the header to sign that data. - -5. **Combine All Parts**: - - The final JWT is formed by concatenating the base64Url encoded header, payload, and signature with dots (`.`) in between. - -**Encoding the Header and Payload**: -- Header (JSON): - ```json - { - "alg": "HS256", - "typ": "JWT" - } - ``` -- Payload (JSON): - ```json - { - "sub": "1234567890", - "name": "John Doe", - "admin": true, - "iat": 1516239022 - } - ``` - -- Base64Url encoding of header: - ``` - eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 - ``` -- Base64Url encoding of payload: - ``` - eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0 - ``` - -**Signing the Token**: -- Create the signature by combining the encoded header, payload, and a secret key using the algorithm specified (e.g., HMAC SHA256): - ```javascript - HMACSHA256( - base64UrlEncode(header) + "." + - base64UrlEncode(payload), - secret - ) - ``` -- Example signature: - ``` - SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c - ``` - -**Final JWT**: -``` -eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c -``` - -#### Verifying JWTs - -**Steps to Verify a JWT**: -1. **Extract the Components**: - - Split the JWT into its three parts: header, payload, and signature. - -2. **Decode the Header and Payload**: - - Base64Url decode the header and payload to get the original JSON objects. - -3. **Validate the Signature**: - - Recreate the signature using the same method as when the JWT was created, using the header and payload, and compare it with the received signature. - -4. **Check the Claims**: - - Verify the claims in the payload, such as `exp` (expiration time), `nbf` (not before), and `iat` (issued at). - -**Validating the Signature**: -- Recreate the signature using the received encoded header and payload and the secret key: - ```javascript - const validSignature = HMACSHA256( - base64UrlEncode(header) + "." + - base64UrlEncode(payload), - secret - ); - if (validSignature !== receivedSignature) { - throw new Error('Invalid signature'); - } - ``` - -**Checking the Claims**: -- Check the expiration time (`exp`): - ```javascript - const currentTime = Math.floor(Date.now() / 1000); - if (payload.exp && currentTime > payload.exp) { - throw new Error('Token expired'); - } - ``` - -- Check the not before (`nbf`) and issued at (`iat`) claims: - ```javascript - if (payload.nbf && currentTime < payload.nbf) { - throw new Error('Token not active yet'); - } - if (payload.iat && currentTime < payload.iat) { - throw new Error('Token issued in the future'); - } - ``` - \ No newline at end of file diff --git a/docs/JWT/implement.md b/docs/JWT/implement.md deleted file mode 100644 index 07b60b9c7..000000000 --- a/docs/JWT/implement.md +++ /dev/null @@ -1,406 +0,0 @@ ---- -id: jwt-implement -title: Implementing JWT -sidebar_label: Implementation -sidebar_position: 4 -tags: [JWT, web development, Security] -description: Implementing of the project in JWT. ---- - -#### Server-Side Implementation - -**Libraries and Tools**: -- **Node.js**: `jsonwebtoken` library -- **Python**: `PyJWT` library -- **Java**: `jjwt` library -- **Ruby**: `jwt` gem - -**Example Code Snippets** - - - -**Creating a Token (Node.js using `jsonwebtoken`)**: -1. **Install the library**: - ```bash - npm install jsonwebtoken - ``` - -2. **Code to create a token**: - ```javascript - const jwt = require('jsonwebtoken'); - - const payload = { - sub: "1234567890", - name: "John Doe", - admin: true - }; - - const secret = "your-256-bit-secret"; - - const token = jwt.sign(payload, secret, { expiresIn: '1h' }); - - console.log(token); - ``` - -**Verifying a Token (Node.js using `jsonwebtoken`)**: -1. **Code to verify a token**: - ```javascript - const jwt = require('jsonwebtoken'); - - const token = "your.jwt.token.here"; - const secret = "your-256-bit-secret"; - - try { - const decoded = jwt.verify(token, secret); - console.log(decoded); - } catch (err) { - console.error('Token verification failed:', err); - } - ``` - - -### Installation - -First, you need to install the PyJWT library if you haven't already: - -```bash -pip install pyjwt -``` - -### Creating (Encoding) a Token - -To create a JWT, you need a payload (data) and a secret key. The payload typically contains claims about the user and any additional metadata. - -```python -import jwt -import datetime - -# Define the payload -payload = { - 'user_id': 123, - 'username': 'example_user', - 'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=30) # Token expiration time -} - -# Define the secret key -secret_key = 'your_secret_key' - -# Create the token -token = jwt.encode(payload, secret_key, algorithm='HS256') - -print(f"Generated Token: {token}") -``` - -### Verifying (Decoding) a Token - -To verify a JWT, you need the token and the same secret key that was used to create the token. If the token is valid and has not expired, you can decode it to retrieve the payload. - -```python -# Define the token you received -received_token = token - -# Decode the token -try: - decoded_payload = jwt.decode(received_token, secret_key, algorithms=['HS256']) - print(f"Decoded Payload: {decoded_payload}") -except jwt.ExpiredSignatureError: - print("Token has expired") -except jwt.InvalidTokenError: - print("Invalid token") -``` - - - - -### Setup - -First, add the `jjwt` library to your project. If you're using Maven, add the following dependency to your `pom.xml`: - -```xml - - io.jsonwebtoken - jjwt - 0.9.1 - -``` - -If you're using Gradle, add the following to your `build.gradle`: - -```groovy -implementation 'io.jsonwebtoken:jjwt:0.9.1' // Check for the latest version -``` - -### Creating (Encoding) a Token - -Here’s how to create a JWT using `jjwt`: - -```java -import io.jsonwebtoken.Jwts; -import io.jsonwebtoken.SignatureAlgorithm; -import java.util.Date; - -public class JwtExample { - - private static final String SECRET_KEY = "your_secret_key"; - - public static String createToken(String userId, String username) { - return Jwts.builder() - .setSubject(userId) - .claim("username", username) - .setIssuedAt(new Date()) - .setExpiration(new Date(System.currentTimeMillis() + 30 * 60 * 1000)) // 30 minutes expiration - .signWith(SignatureAlgorithm.HS256, SECRET_KEY.getBytes()) - .compact(); - } - - public static void main(String[] args) { - String token = createToken("123", "example_user"); - System.out.println("Generated Token: " + token); - } -} -``` - -### Verifying (Decoding) a Token - -To verify and decode a JWT, use the following code: - -```java -import io.jsonwebtoken.Jwts; -import io.jsonwebtoken.Claims; -import io.jsonwebtoken.ExpiredJwtException; -import io.jsonwebtoken.SignatureException; - -public class JwtExample { - - private static final String SECRET_KEY = "your_secret_key"; - - public static Claims decodeToken(String token) { - try { - return Jwts.parser() - .setSigningKey(SECRET_KEY.getBytes()) - .parseClaimsJws(token) - .getBody(); - } catch (ExpiredJwtException e) { - System.out.println("Token has expired"); - } catch (SignatureException e) { - System.out.println("Invalid token"); - } - return null; - } - - public static void main(String[] args) { - String token = createToken("123", "example_user"); - System.out.println("Generated Token: " + token); - - Claims claims = decodeToken(token); - if (claims != null) { - System.out.println("Decoded Claims: " + claims); - } - } -} -``` - - - -### Installation - -First, add the `jwt` gem to your Gemfile: - -```ruby -gem 'jwt' -``` - -Then run: - -```bash -bundle install -``` - -Alternatively, you can install it directly using: - -```bash -gem install jwt -``` - -### Creating (Encoding) a Token - -To create a JWT, you need a payload (data) and a secret key. The payload can contain any data you need to include in the token, such as user information or claims. - -```ruby -require 'jwt' - -# Define the payload -payload = { - user_id: 123, - username: 'example_user', - exp: Time.now.to_i + 30 * 60 # Token expiration time (30 minutes from now) -} - -# Define the secret key -secret_key = 'your_secret_key' - -# Create the token -token = JWT.encode(payload, secret_key, 'HS256') - -puts "Generated Token: #{token}" -``` - -### Verifying (Decoding) a Token - -To verify a JWT, use the same secret key that was used to create the token. If the token is valid and has not expired, you can decode it to retrieve the payload. - -```ruby -require 'jwt' - -# Define the token you received -received_token = token - -# Define the secret key -secret_key = 'your_secret_key' - -# Decode the token -begin - decoded_payload = JWT.decode(received_token, secret_key, true, { algorithm: 'HS256' }) - puts "Decoded Payload: #{decoded_payload.first}" -rescue JWT::ExpiredSignature - puts "Token has expired" -rescue JWT::DecodeError - puts "Invalid token" -end -``` - - - - -### How to Created in the Token Backend Basic Example - - -
-

-

- -
-
- -
-
- - - -#### Client-Side Implementation - -**Storing the Token Securely**: -- **localStorage**: - ```javascript - localStorage.setItem('token', token); - const token = localStorage.getItem('token'); - ``` - -- **sessionStorage**: - ```javascript - sessionStorage.setItem('token', token); - const token = sessionStorage.getItem('token'); - ``` - -- **Cookies** (Using `js-cookie` library): - 1. **Install the library**: - ```bash - npm install js-cookie - ``` - - 2. **Code to store and retrieve the token**: - ```javascript - const Cookies = require('js-cookie'); - - // Set a cookie - Cookies.set('token', token, { expires: 1 }); // 1 day expiration - - // Get a cookie - const token = Cookies.get('token'); - ``` - -**Sending the Token in Requests (Authorization Header)**: -1. **Using Fetch API**: - ```javascript - const token = localStorage.getItem('token'); - - fetch('https://your-api-endpoint.com', { - method: 'GET', - headers: { - 'Authorization': `Bearer ${token}` - } - }) - .then(response => response.json()) - .then(data => console.log(data)) - .catch(error => console.error('Error:', error)); - ``` - -2. **Using Axios**: - 1. **Install Axios**: - ```bash - npm install axios - ``` - - 2. **Code to send a request with token**: - ```javascript - const axios = require('axios'); - - const token = localStorage.getItem('token'); - - axios.get('https://your-api-endpoint.com', { - headers: { - 'Authorization': `Bearer ${token}` - } - }) - .then(response => console.log(response.data)) - .catch(error => console.error('Error:', error)); - ``` - ### Example: - - - -
-
-

Backend

-
-

backend listen in 5000..

-
-
-
-

Frontend

-
-

Get to the data in backend use JWT

-

- -

-        
-
-
- \ No newline at end of file diff --git a/docs/JWT/security-Consideration.md b/docs/JWT/security-Consideration.md deleted file mode 100644 index 55017e170..000000000 --- a/docs/JWT/security-Consideration.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -id: jwt-security -title: Security Considerations -sidebar_label: Security -sidebar_position: 5 -tags: [JWT, web development, Security] -description: Security Considerations in JWT. ---- - -#### Token Expiration and Revocation - -**Setting Expiration Times**: -- **Purpose**: Token expiration ensures that tokens are only valid for a specific period. This limits the time window in which a token can be used if compromised. -- **How to Set**: When creating a JWT, set the `exp` (expiration) claim to define when the token will expire. - -**Example (Node.js with `jsonwebtoken`)**: -```javascript -const token = jwt.sign(payload, secret, { expiresIn: '1h' }); // Token expires in 1 hour -``` - -- **Refresh Tokens**: Implement refresh tokens to allow users to obtain a new access token without re-authenticating. Refresh tokens usually have a longer expiration time than access tokens. - -**Token Revocation Strategies**: -- **Blacklisting**: Maintain a list of revoked tokens. This requires storing token identifiers (e.g., `jti`) and checking this list on every request. - - Example (Node.js): - ```javascript - const revokedTokens = new Set(); - - function isTokenRevoked(token) { - const decoded = jwt.decode(token); - return revokedTokens.has(decoded.jti); - } - - function revokeToken(token) { - const decoded = jwt.decode(token); - revokedTokens.add(decoded.jti); - } - ``` - -- **Short Expiry Times**: Use short-lived access tokens combined with longer-lived refresh tokens. This reduces the risk if a token is compromised. - -#### Securing the Token - -**Using HTTPS**: -- **Importance**: Always use HTTPS to encrypt the data transmitted between the client and server. This prevents token interception by attackers. -- **Implementation**: Ensure that your server is configured to support HTTPS and that clients access your API via `https://`. - -:::important -**Storing the Token Securely**: -- **LocalStorage**: Easy to use but vulnerable to XSS attacks. -- **SessionStorage**: Similar to `localStorage` but data is cleared when the page session ends. Still vulnerable to XSS. -- **Cookies**: Use cookies with the `HttpOnly` and `Secure` flags to mitigate XSS attacks and ensure the cookie is only sent over HTTPS. -::: - -**Example (Setting HttpOnly and Secure Flags in Express.js)**: -```javascript -app.use(cookieParser()); - -app.post('/login', (req, res) => { - const token = jwt.sign(payload, secret, { expiresIn: '1h' }); - res.cookie('token', token, { httpOnly: true, secure: true }); - res.send('Logged in'); -}); -``` -:::note -**Preventing Token Theft**: -- **Content Security Policy (CSP)**: Implement CSP to reduce the risk of XSS attacks. -- **Regular Audits**: Regularly review and update security practices and libraries. -- **Minimize Token Exposure**: Avoid exposing tokens in URLs, and always send them in headers. -::: - -#### Choosing the Right Algorithm - -**Symmetric (HMAC) vs. Asymmetric (RSA, ECDSA)**: -:::note -- **Symmetric (HMAC)**: - - **Algorithm**: Uses the same secret key for both signing and verification (e.g., HS256). - - **Benefits**: Faster and simpler since it requires only one key. - - **Use Cases**: Suitable for scenarios where you control both the issuing and verifying parties, such as in internal systems. - -- **Asymmetric (RSA, ECDSA)**: - - **Algorithm**: Uses a pair of keys: a private key for signing and a public key for verification (e.g., RS256, ES256). - - **Benefits**: More secure for scenarios where you need to share the verification key with multiple parties without exposing the signing key. - - **Use Cases**: Suitable for public APIs or scenarios where the verification and issuance of tokens are handled by different entities. -::: - - Example (HMAC with `jsonwebtoken`): - ```javascript - const token = jwt.sign(payload, 'your-256-bit-secret', { algorithm: 'HS256' }); - ``` - - Example (RSA with `jsonwebtoken`): - ```javascript - const fs = require('fs'); - const privateKey = fs.readFileSync('private.key'); - const publicKey = fs.readFileSync('public.key'); - - const token = jwt.sign(payload, privateKey, { algorithm: 'RS256' }); - const decoded = jwt.verify(token, publicKey); - ``` - - -:::tip -1. **Set Token Expiration**: Define expiration times and use refresh tokens to manage sessions. -2. **Implement Revocation Strategies**: Use blacklisting or short-lived tokens to handle token revocation. -3. **Secure Token Storage**: Use HTTPS, store tokens securely, and prevent token theft. -4. **Choose the Right Algorithm**: Select between symmetric and asymmetric algorithms based on your security needs and architecture. -::: \ No newline at end of file diff --git a/docs/NextJs/Next.js API routes/API middlewares.md b/docs/NextJs/Next.js API routes/API middlewares.md deleted file mode 100644 index f04e1aedf..000000000 --- a/docs/NextJs/Next.js API routes/API middlewares.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -id: api-middlewares -title: Next.js-API MiddleWares -sidebar_label: Next.js - API MiddleWares -sidebar_position: 2 -tags: [Next.js API Routes ] -description: "In this section, you will learn about API routes in NEXT ." ---- - -Next.js - API MiddleWares - -API Routes in Next.JS have built-in middlewares which helps in parsing the incoming request. - -Following are the middlewares - -- req.cookies − cookies object contains the cookies sent by the request. Default value is {}. - -- req.query − query object contains the query string. Default value is {}. - -- req.body − query object contains the request body parsed using 'content-type'. Default value is null. - -Let's create an example to demonstrate the same. - -In this example, we are going to update an user.js in pages/api directory. - -Let's update the nextjs project used in API Routes chapter. - -Create user.js file in pages/api directory as following. - -``` -export default (req, res) => { - res.statusCode = 200 - res.setHeader('Content-Type', 'application/json') - res.end(JSON.stringify({ query: req.query })) -} -``` -Start Next.js Server - -Run the following command to start the server −. - -``` -npm run dev - -> nextjs@1.0.0 dev D:\Node\nextjs -> next - -ready - started server on http://localhost:3000 -info - Loaded env from D:\Node\nextjs\.env.local -event - compiled successfully -event - build page: /api/user -wait - compiling... -event - compiled successfully -event - build page: /next/dist/pages/_error -wait - compiling... -event - compiled successfully -``` - -## Verify Output - -Open http://localhost:3000/api/user?counter=1 in a browser and you will see the following output. - -``` {"query":{"counter":"1"}} ``` - - - -
-
-

app listen in 3000...

-
-
- -

-      
-
-
\ No newline at end of file diff --git a/docs/NextJs/Next.js API routes/API routes.md b/docs/NextJs/Next.js API routes/API routes.md deleted file mode 100644 index 1dab5cd81..000000000 --- a/docs/NextJs/Next.js API routes/API routes.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -id: api-routes -title: Next.js - Api Routes -sidebar_label: Next.js - Api Routes -sidebar_position: 1 -tags: [Next.js API Routes ] -description: "In this section, you will learn about API routes in NEXT ." ---- - -Next.js - Api Routes - -API Routes is a way to create rest API using Next.js. Next.js maps any file present in /pages/api folder and will be treated as API end point. An example of API function − - -``` -export default (req, res) => { - ... -} - -``` - -Following are some important points to consider. - -- req − req is an instance of http.IncomingMessage and is used to get data from request. - -- res − res is an instance of http.ServerResponse and is used to send data as response. - -Let's create an example to demonstrate the same. - -In this example, we are going to create an user.js in pages/api directory. - -Let's update the nextjs project used in Global CSS Support chapter. - -Create user.js file in pages/api directory as following. - -``` -export default (req, res) => { - res.statusCode = 200 - res.setHeader('Content-Type', 'application/json') - res.end(JSON.stringify({ name: 'Robert' })) -} -``` - -Start Next.js Server - -Run the following command to start the server −. - -``` -npm run dev - -> nextjs@1.0.0 dev D:\Node\nextjs -> next - -ready - started server on http://localhost:3000 -info - Loaded env from D:\Node\nextjs\.env.local -event - compiled successfully -event - build page: /api/user -wait - compiling... -event - compiled successfully -event - build page: /next/dist/pages/_error -wait - compiling... -event - compiled successfully -``` - -## Verify Output - -Open localhost:3000/api/user in a browser and you will see the following output. - -```{"name":"Robert"} ``` - - - -
-
-

app listen in 3000...

-
-
- -

-      
-
-
\ No newline at end of file diff --git a/docs/NextJs/Next.js API routes/Responsehelper.md b/docs/NextJs/Next.js API routes/Responsehelper.md deleted file mode 100644 index b754cd4c6..000000000 --- a/docs/NextJs/Next.js API routes/Responsehelper.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -id: api-Responsehelpers -title: Next.js -Response Helpers -sidebar_label: Next.js - Response Helpers -sidebar_position: 3 -tags: [Next.js API Routes ] -description: "In this section, you will learn about API routes in NEXT ." ---- - -Next.js - Response Helpers - -res object have express.js like helper methods to ease development to create services. - -Following are the response helper methods - -- res.status(code) − This methods set the status of response. Code passed must be a valid HTTP status. - -- req.json(json) − This method returns a JSON response. json passed must be a valid JSON object. - -- req.send(body) − This methods sends an HTTP response. Response can be string, object or Buffer. - -Let's create an example to demonstrate the same. - -In this example, we are going to update an user.js in pages/api directory. - -Let's update the nextjs project used in API Routes chapter. - -Create user.js file in pages/api directory as following. - -``` -export default (req, res) => { - res.status(200).json({ name: 'Robert' }); -} - -``` -Start Next.js Server - -Run the following command to start the server −. - -``` -npm run dev - -> nextjs@1.0.0 dev D:\Node\nextjs -> next - -ready - started server on http://localhost:3000 -info - Loaded env from D:\Node\nextjs\.env.local -event - compiled successfully -event - build page: /api/user -wait - compiling... -event - compiled successfully -event - build page: /next/dist/pages/_error -wait - compiling... -event - compiled successfully -``` - -## Verify Output - -Open http://localhost:3000/api/user in a browser and you will see the following output. - -```{ name: 'Robert' }``` \ No newline at end of file diff --git a/docs/NextJs/Next.js API routes/_category.json b/docs/NextJs/Next.js API routes/_category.json deleted file mode 100644 index eb033cfa2..000000000 --- a/docs/NextJs/Next.js API routes/_category.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "Next.js API routes", - "position": 1, - "link": { - "type": "generated-index", - "description": "In this section, you will learn about API routes in NEXT ." - } -} \ No newline at end of file diff --git a/docs/NextJs/Next.js Features/_category.json b/docs/NextJs/Next.js Features/_category.json deleted file mode 100644 index 53f2f4fba..000000000 --- a/docs/NextJs/Next.js Features/_category.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "Next.js Features", - "position": 0, - "link": { - "type": "generated-index", - "description": "In this section, you will learn about Features of NEXT ." - } -} \ No newline at end of file diff --git a/docs/NextJs/Next.js Features/metadata.md b/docs/NextJs/Next.js Features/metadata.md deleted file mode 100644 index 82a07586d..000000000 --- a/docs/NextJs/Next.js Features/metadata.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -id: features-metadata -title: Next.js - Meta Data -sidebar_label: Next.js - Next.js - Meta Data -sidebar_position: 3 -tags: [Next.js Features Pages] -description: "In this section, you will learn about Features of NEXT ." ---- -## Next.js - Meta Data - -In Next.js, we can serve modify the head section of each react pages very easily with the help of `````` react component which is inbuilt. - -Let's update the nextjs project used in Pages chapter. - -Update index.js as follows − - -``` -import Link from 'next/link' -import Head from 'next/head' - -function HomePage() { - return ( - <> - - Welcome to Next.js! - -
Welcome to Next.js!
- First Post -
- TutorialsPoint Logo - - ) -} - -export default HomePage -``` - -Update first.js as follows − - -``` -import Link from 'next/link' -import Head from 'next/head' - -export default function FirstPost() { - return ( - <> - - My First Post - -

My First Post

-

- - Home - -

- - ) -} -``` - -Here we've added a reference to logo.png in index.js file. - -Start Next.js Server -Run the following command to start the server −. - -``` -npm run dev -> nextjs@1.0.0 dev \Node\nextjs -> next - -ready - started server on http://localhost:3000 -event - compiled successfully -event - build page: / -wait - compiling... -event - compiled successfully -event - build page: /next/dist/pages/_error -wait - compiling... -event - compiled successfully -``` - - -## Verify Output - -Open localhost:3000 in a browser - - -
-

Welcome to Next.js!

-

{ - let output_con_1=document.getElementById("output_con_1") - output_con_1.style.display="none" - let output_con_2=document.getElementById("output_con_2") - output_con_2.style.display="block" - }} style={{color:"blue",textDecoration:"underline",cursor:"pointer"}}>First Post

- CodeHarborhub Logo -
-
-

My First Post

-

{ - let output_con_2=document.getElementById("output_con_2") - output_con_2.style.display="none" - let output_con_1=document.getElementById("output_con_1") - output_con_1.style.display="block" - }} style={{color:"blue",textDecoration:"underline",cursor:"pointer"}}>Home

-
-
\ No newline at end of file diff --git a/docs/NextJs/Next.js Features/pages.md b/docs/NextJs/Next.js Features/pages.md deleted file mode 100644 index edb253d04..000000000 --- a/docs/NextJs/Next.js Features/pages.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -id: features-pages -title: Next.js Features - Page -sidebar_label: Next.js Features - Page -sidebar_position: 1 -tags: [Next.js Features ] -description: "In this section, you will learn about Features of NEXT ." ---- - - -## Next.js - Pages - - -In Next.js, we can create pages and navigate between them using file system routing feature. We'll use Link component to have a client side navigation between pages. - -In Next.js, a page is a React Component and are exported from pages directory. Each page is associated with a route based on its file name. For example - -- pages/index.js is linked with '/' route. - -- pages/posts/first.js is linked with '/posts/first' route and so on. - -Let's update the nextjs project created in Environment Setup chapter. - -Create post directory and first.js within it with following contents. - -``` -export default function FirstPost() { - return

My First Post

-} -``` -Add Link Support to go back to Home page. Update first.js as follows − - -``` -import Link from 'next/link' - -export default function FirstPost() { - return ( - <> -

My First Post

-

- - Home - -

- - ) -} -``` -Add Link Support to home page to navigate to first page. Update index.js as follows − - -``` -import Link from 'next/link' - -function HomePage() { - return ( - <> -
Welcome to Next.js!
- First Post - - ) -} - -export default HomePage -``` - -## Start Next.js Server - -Run the following command to start the server −. -``` -npm run dev -> nextjs@1.0.0 dev \Node\nextjs -> next - -ready - started server on http://localhost:3000 -event - compiled successfully -event - build page: / -wait - compiling... -event - compiled successfully -event - build page: /next/dist/pages/_error -wait - compiling... -event - compiled successfully -``` - -## Verify Output - -Open localhost:3000 in a browser and you will see the following output. -``` -Home page -``` -Click on First Link and you will see the following output. - - - -
-

My First Post

-

{ - let output_con_1=document.getElementById("output_con_1") - output_con_1.style.display="none" - let output_con_2=document.getElementById("output_con_2") - output_con_2.style.display="block" - }} style={{color:"blue",textDecoration:"underline",cursor:"pointer"}}>Home

-
-
-

Welcome to Next.js!

-

{ - let output_con_2=document.getElementById("output_con_2") - output_con_2.style.display="none" - let output_con_1=document.getElementById("output_con_1") - output_con_1.style.display="block" - }} style={{color:"blue",textDecoration:"underline",cursor:"pointer"}}>First Post

-
-
\ No newline at end of file diff --git a/docs/NextJs/Next.js Features/statcfileserving.md b/docs/NextJs/Next.js Features/statcfileserving.md deleted file mode 100644 index ee192fd61..000000000 --- a/docs/NextJs/Next.js Features/statcfileserving.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -id: featuers-staticFileserving -title: Next.js - Static File Serving -sidebar_label: Next.js - Static File Serving -sidebar_position: 2 -tags: [Next.js Features ] -description: "In this section, you will learn about Features of NEXT ." ---- - - - -## Next.js - Static File Serving - -In Next.js, we can serve static pages like images very easily by putting them in public, a top level directory. We can refer these files in similar fashion like pages in pages directory. - -In Next.js, a page is a React Component and are exported from pages directory. Each page is associated with a route based on its file name. - -Let's update the nextjs project used in Pages chapter. - -Create public directory and place any images within it. We've taken logo.png, CODEHARBOUR Logo image. - -Update first.js as follows − -``` -import Link from 'next/link' - -export default function FirstPost() { - return ( - <> -

My First Post

-

- - Home - -

-
- CodeHarborhub Logo - - ) -} -``` -Here we've added a reference to logo.png in index.js file. - -## Start Next.js Server -Run the following command to start the server −. -``` -npm run dev - > nextjs@1.0.0 dev \Node\nextjs - > next - -ready - started server on http://localhost:3000 -event - compiled successfully -event - build page: / -wait - compiling... -event - compiled successfully -event - build page: /next/dist/pages/_error -wait - compiling... -event - compiled successfully -``` - -## Verify Output - -Open localhost:3000 in a browser - - -
-

My First Post

-

{ - let browsing_static_files=document.getElementById("browsing_static_files") - browsing_static_files.style.display="none" - setTimeout(()=>{ - browsing_static_files.style.display="block" - },1000) - }} style={{fontSize:"1rem",color:"blue",textDecoration:"underline",cursor:"pointer"}}>Home

-
- CodeHarborhub Logo -
-
\ No newline at end of file diff --git a/docs/NextJs/Next.js Routing/Next.js - Imperative Routing.md b/docs/NextJs/Next.js Routing/Next.js - Imperative Routing.md deleted file mode 100644 index f54cdbf4d..000000000 --- a/docs/NextJs/Next.js Routing/Next.js - Imperative Routing.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -id: routing-ImperativeRouting -title: Next.js - Imperative Routing -sidebar_label: Next.js - Imperative Routing -sidebar_position: 3 -tags: [Next.js Routing] -description: "In this section, you will learn about Routing in NEXT ." ---- - - -In Next.js, so far we are using Link react component to navigate from one page to other. There is a programmatic way as well to achive the same using Router component. Generally Router component is used with html tags. - -Update index.js file in pages directory as following. - -``` -import Router from 'next/router' -import Head from 'next/head' - -function HomePage(props) { - return ( - <> - - Welcome to Next.js! - -
Welcome to Next.js!
- Router.push('/posts/one')}>First Post -
-
Next stars: {props.stars}
- TutorialsPoint Logo - - ) -} - -export async function getServerSideProps(context) { - const res = await fetch('https://api.github.com/repos/vercel/next.js') - const json = await res.json() - return { - props: { stars: json.stargazers_count } - } -} - -export default HomePage - -``` - -Start Next.js Server -Run the following command to start the server −. -``` -npm run dev -> nextjs@1.0.0 dev \Node\nextjs -> next - -ready - started server on http://localhost:3000 -event - compiled successfully -event - build page: / -wait - compiling... -event - compiled successfully -event - build page: /next/dist/pages/_error -wait - compiling... -event - compiled successfully - -``` -## Verify Output - -Open localhost:3000 in a browser and you will see the following output. - -``` -Home page with Router -``` -Click on First post which is not a link but is clickable. - -First page with Data \ No newline at end of file diff --git a/docs/NextJs/Next.js Routing/Next.js - Shallow Routing.md b/docs/NextJs/Next.js Routing/Next.js - Shallow Routing.md deleted file mode 100644 index f13043a2d..000000000 --- a/docs/NextJs/Next.js Routing/Next.js - Shallow Routing.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: routing-ShallowRouting -title: Next.js - Shallow Routing -sidebar_label: Next.js - Shallow Routing -sidebar_position: 4 -tags: [Next.js Routing] -description: "In this section, you will learn about Routing in NEXT ." ---- - - - -In Next.js, shallow routing refers to navigating to same page but no calls to getServerSideProps, getStaticProps, and getInitialProps methods. - -To do shallow routing, we use Router with shallow flag as true. See the below example. - -Update index.js file in pages directory as following. - -``` -import Router from 'next/router' -import Head from 'next/head' - -function HomePage(props) { - return ( - <> - - Welcome to Next.js! - -
Welcome to Next.js!
- Router.push('/?counter=1', undefined, { shallow: true })}>Reload -
-
Next stars: {props.stars}
- TutorialsPoint Logo - - ) -} - -export async function getServerSideProps(context) { - const res = await fetch('https://api.github.com/repos/vercel/next.js') - const json = await res.json() - return { - props: { stars: json.stargazers_count } - } -} - -export default HomePage -Start Next.js Server -``` - -Run the following command to start the server −. - -``` -npm run dev -> nextjs@1.0.0 dev \Node\nextjs -> next - -ready - started server on http://localhost:3000 -event - compiled successfully -event - build page: / -wait - compiling... -event - compiled successfully -event - build page: /next/dist/pages/_error -wait - compiling... -event - compiled successfully - -``` - -## Verify Output - -Open localhost:3000 in a browser and then click on Reload link and you will see the following output. - -``` Home page with Shallow Routing ``` \ No newline at end of file diff --git a/docs/NextJs/Next.js Routing/Next.js -Routing.md b/docs/NextJs/Next.js Routing/Next.js -Routing.md deleted file mode 100644 index a97ccb949..000000000 --- a/docs/NextJs/Next.js Routing/Next.js -Routing.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -id: Routing -title: Next.js Routing -sidebar_label: Next.js-Routing -sidebar_position: 1 -tags: [Next.js Routing] -description: "In this section, you will learn about Routing in NEXT ." ---- - - - -Next.js uses file system based router. Whenever we add any page to pages directory, it is automatically available via url. Following are the rules of this router. - -- Index Routes − An index.js file present in a folder maps to root of directory. For example − - - - pages/index.js maps to '/'. - - - pages/posts/index.js maps to '/posts'. - -- Nested Routes − Any nested folder structure in pages directory because router url automatically. For example − - - - pages/settings/dashboard/about.js maps to '/settings/dashboard/about'. - - - pages/posts/first.js maps to '/posts/first'. - -- Dynamic Routes − We can use named parameter as well to match url. Use brackets for the same. For example − - - - pages/posts/[id].js maps to '/posts/:id' where we can use URL like '/posts/1'. - - - pages/[user]/settings.js maps to '/posts/:user/settings' where we can use URL like '/abc/settings'. - - - pages/posts/[...all].js maps to '/posts/*' where we can use any URL like '/posts/2020/jun/'. - -## Page Linking -
-Next.JS allows to link pages on client side using Link react component. It has following properties − - - -- href − name of the page in pages directory. For example /posts/first which refers to first.js present in pages/posts directory. - -Let's create an example to demonstrate the same. - -In this example, we'll update index.js and first.js page to make a server hit to get data. - -Let's update the nextjs project used in Global CSS Support chapter. - -Update index.js file in pages directory as following. -``` -import Link from 'next/link' -import Head from 'next/head' - -function HomePage(props) { - return ( - <> - - Welcome to Next.js! - -
Welcome to Next.js!
- > First Post -
-
Next stars: {props.stars}
- TutorialsPoint Logo - - ) -} - -export async function getServerSideProps(context) { - const res = await fetch('https://api.github.com/repos/vercel/next.js') - const json = await res.json() - return { - props: { stars: json.stargazers_count } - } -} - -export default HomePage -``` - -
-Start Next.js Server -Run the following command to start the server −. -
- -``` -npm run dev -> nextjs@1.0.0 dev \Node\nextjs -> next - -ready - started server on http://localhost:3000 -event - compiled successfully -event - build page: / -wait - compiling... -event - compiled successfully -event - build page: /next/dist/pages/_error -wait - compiling... -event - compiled successfully -``` -## Verify Output - -Open localhost:3000 in a browser - - -
-

Welcome to Next.js..!

-

{ - let output_con_1=document.getElementById("output_con_1") - output_con_1.style.display="none" - let output_con_2=document.getElementById("output_con_2") - output_con_2.style.display="block" - }} style={{color:"blue",textDecoration:"underline",cursor:"pointer"}}>visit First Post

-
-
-

My First Post

-

{ - let output_con_2=document.getElementById("output_con_2") - output_con_2.style.display="none" - let output_con_1=document.getElementById("output_con_1") - output_con_1.style.display="block" - }} style={{color:"blue",textDecoration:"underline",cursor:"pointer"}}>Home

-
-

Important notes.!

-
-

Hello Everyone keep supporting and Contributting our project.

-

Let's Learn & Succeeded our Life

-
-
\ No newline at end of file diff --git a/docs/NextJs/Next.js Routing/Next.js-Dynamic API Routing.md b/docs/NextJs/Next.js Routing/Next.js-Dynamic API Routing.md deleted file mode 100644 index 9fdf5d08a..000000000 --- a/docs/NextJs/Next.js Routing/Next.js-Dynamic API Routing.md +++ /dev/null @@ -1,206 +0,0 @@ ---- -id: Routing-DynamicAPIRouting -title: Dynamic API Routing -sidebar_label: Next.js-Dynamic API Routing -sidebar_position: 2 -tags: [Next.js Routing] -description: "In this section, you will learn about Routing in NEXT ." ---- - - - -In Next.js, we can create routes dynamically. In this example, we'll create pages on the fly and their routing. - -- Step 1. Define [id].js file − [id].js represents the dynamic page where id will be relative path. Define this file in pages/post directory. - -- Step 2. Define lib/posts.js − posts.js represents the ids and contents. lib directory is to be created in root directory. -[id].js - -- Update [id].js file with getStaticPaths() method which sets the paths and getStaticProps() method to get the contents based on id. - -``` -import Link from 'next/link' -import Head from 'next/head' -import Container from '../../components/container' - -import { getAllPostIds, getPostData } from '../../lib/posts' - -export default function Post({ postData }) { - return ( - - {postData.id} -
- {postData.title} -
- {postData.date} -
- ) -} -export async function getStaticPaths() { - const paths = getAllPostIds() - return { - paths, - fallback: false - } -} - -export async function getStaticProps({ params }) { - const postData = getPostData(params.id) - return { - props: { - postData - } - } -} -posts.js -posts.js contains getAllPostIds() to get the ids and getPostData() to get corresponding contents. - -export function getPostData(id) { - const postOne = { - title: 'One', - id: 1, - date: '7/12/2020' - } - - const postTwo = { - title: 'Two', - id: 2, - date: '7/12/2020' - } - if(id == 'one'){ - return postOne; - }else if(id == 'two'){ - return postTwo; - } -} - -export function getAllPostIds() { - return [{ - params: { - id: 'one' - } - }, - { - params: { - id: 'two' - } - } -]; -} -``` - -Start Next.js Server -Run the following command to start the server −. - -``` -npm run dev -> nextjs@1.0.0 dev \Node\nextjs -> next - -ready - started server on http://localhost:3000 -event - compiled successfully -event - build page: / -wait - compiling... -event - compiled successfully -event - build page: /next/dist/pages/_error -wait - compiling... -event - compiled successfully -``` - -## Verify Output - -```Open localhost:3000/posts/one in a browser and you will see the following output. ``` - -``` Open localhost:3000/posts/two in a browser and you will see the following output. ``` - - -
- - - - -
-
-
-
-
-
-
-
-
-
\ No newline at end of file diff --git a/docs/NextJs/Next.js Routing/_category.json b/docs/NextJs/Next.js Routing/_category.json deleted file mode 100644 index 4d1fe52ae..000000000 --- a/docs/NextJs/Next.js Routing/_category.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "Next.js Routing", - "position": 2, - "link": { - "type": "generated-index", - "description": "In this section, you will learn about Routing in NEXT ." - } -} \ No newline at end of file diff --git a/docs/NextJs/emty.png b/docs/NextJs/emty.png deleted file mode 100644 index 77095600a5850dfbf17becfbef7973bdf183792a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1559 zcmZ`(YdDm79Q}{xf*Dye?v*S{R_GlgYvxIrT&LDGVjiIxyt>#(YSEN&9~q|Dcq4M# zD4CrejFJswM7&g+#i+sV7P(AzH&&^qcKWoR_QUU--#NeM{63!i06%XXZBuOkfDX&Y zBM1NtO}$ezv1&Yc!6H;m*f^#y6M)+y;s*{+t<9r-f_wo;vj%{l4ZynE;=cmmGz7rH zVE`Bi07i*dI|6s94;tM4-X7pno(SzyE3HHy_9*~}l+S|!CLx*S>q&Tp*Q8*{ ztC`-h0N}J)9?ak)Q^V!oVd@}K?j?R!hz8jfLkQJ!3EKh@(4G;dl{rSsCuO;RA8WEz zQn)EAYH|INwJyuF@n#~kt{>!K@Hfdjrsp!u@TXUz2*iq3sYLR)K94sZg2NFDiVEY& zT6T7%@B{h9P9X-f`r`#&CjX@8m5vlJXd?1j#b87k97lGl?_#YBexcoqiC^1bWa{!~ zlabW%wi!jd^l7f^oYTTaAW^@JxT(EP-?53FL_drHMa?(rc3x|Ku)i{5hw01gNG37h zO6rTYtn8Wy(>+PTPHgU~XwJXhf64LGJznLHrVi%^O1C8%UUnl1n;Ks*0}{{Lz&W8no?WE*sO}!EdM)4<|XUdM%su^)H>gfR(Z`rK&8(rOWR zsP6n~1>(Bqy4)AfCbo%m%N*e*g0fpECtP3)sJ4TJv!fMNr1As=d)dTzD_Zraf4bhk zUy@=vp47(^DwNxOuko)$KAFf-NM3l#4mrYUIC_?%@c0GJnUdD9kj9$okvFi$k;qX_ z9;Ud#va$BM^<2d#W7;C;ALdL1T0If5EV~t@i{bo~lX~!IXK}wTdMvjvo2`mdVbSMz z*%QQSmENxjtp-)59rHNab>tDX$#&OR@Z0K=>q;5P_G)vUjCImy?~+`j%pv+<$o;62 zUg2hLaHeA5>6Ya_ZBdZ%r{UvXZ?s{?_7$tN($zG+3znwwI=$cSJ}>R(4J{c`dD<}7 z>x_A{p~VRD)cw}*bz!9b!!?#6f9aK>7cG1PGXRZ>gQS#-dm{aS|btEO|w zx%Fl>4r6VFo4Y&7i6l6%^d)lbw9Ib5d72Szi$P-nf{PF){${4oV%t8l{fPVk6}a7p z?hQzfr{f)SdoOD;lK#lPkY3g)sr;LOt3@_ImO;0Ww#=n(#cPZ3$M$DAR|3wxXz;~U z1ZTyf`l)Yt`A$I+rN7&QMC8wIx0xdkAG4O+7oUC&H*q)i*v0T#53ypG^Owr!M1c#t zHMeTq6|RluSax@h2(nx(cL?mNP8d3c$%TD+`^OwwRxrKeQI!oBLkx~><)yUs3dAmA zf&P#glj_Zp*2}~;Mr$2EovY!L7>0h3$@F(mQjbrd!mWyD13Kv5Vz;ix7gbz8hoPxA z=|vuB#mdP;qy4kTW-_@OWp?~Ui@VkqM(-!*EzwqfaW=awmD8T>d-OwVimVKxOqITF zQHC;~h6jeYm*qTvI#(}rbFZVX`A*Hh5AFI|xd&>0sps{}Su1r>S|xjiCC6}*V;Rv& zv1$U2kfW15mK+H%IsRMxJ>E|Kd HdpPr7Td%T- diff --git a/docs/NextJs/image.png b/docs/NextJs/image.png deleted file mode 100644 index 1b1f104d51e5ed392bcb972f8454e8b78400c1e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195743 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⪼OkRIhTyx%;UC3(je%5ZoKmZ26g6Qq}VD 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

cIen=)7PCPv(D_{br}&7C<$t}}u7=o_7A6#t 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 LVW3{7N(uQtRrOHO diff --git a/docs/NextJs/index.md b/docs/NextJs/index.md deleted file mode 100644 index ddcbda816..000000000 --- a/docs/NextJs/index.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -id: next-js -title: Next Js Getting Started -sidebar_label: Next JS -sidebar_position: 26 -tags: [NextJS, Routing, Page Routing] -description: This docs contains about the Next JS documentation ---- - - -## Get Started - -To start using Aceternity UI in your projects, simply install the library via your preferred package manager: - -### Next.js - -```bash -npx create-next-app@latest -``` -On Installation, you will be prompted to choose a template. Select the default template and proceed with the installation. - -```bash -What is your project named? my-app -Would you like to use TypeScript? No / Yes -Would you like to use ESLint? No / Yes -Would you like to use Tailwind CSS? No / Yes -Would you like to use `src/` directory? No / Yes -Would you like to use App Router? (recommended) No / Yes -Would you like to customize the default import alias (@/*)? No / Yes -What import alias would you like configured? @/* - -``` -After the prompts, `create-next-app` will create a folder with your project name and install the required dependencies. - -Create a root layout inside `app/layout.tsx` with the required `` and `` tags: - -```tsx -// app/layout.tsx - -export default function RootLayout({ - children, -}: { - children: React.ReactNode -}) { - return ( - - {children} - - ) -} -``` -Finally, create a home page `app/page.tsx` with some initial content: - -```tsx -// app/page.tsx -export default function Page() { - return

Hello, Next.js!

-} -``` - - -

Hello, Next.js!

-
- -Now, you can start the development server: - -Run `npm run dev` to start the development server. -Visit `http://localhost:3000` to view your application. -Edit `app/page.tsx` (or `pages/index.tsx`) file and save it to see the updated result in your browser. diff --git a/docs/NextJs/resources.md b/docs/NextJs/resources.md deleted file mode 100644 index 1d3b48099..000000000 --- a/docs/NextJs/resources.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -id: nextjs-resources -title: Next.js - Useful Resources -sidebar_label: Next.js - Resources -sidebar_position: 27 -tags: [Next.js Routing] -description: "In this section, you will get some resources of Next.Js" ---- - - - -The following resources contain additional information on Next.js. Please use them to get more in-depth knowledge on this topic. - -## Useful Links on Next.js - -Next.js Official Site [− Your main resource for Next.js documentation and examples etc.](https://nextjs.org/) - -## Useful Books on Next.js - -![Next.js-books](image.png) - - - Next.js Quick Start Guide: Server-side rendering done - - Advanced Web Development with React: SSR and PWA with Next.js using React with advanced concepts - - Building React Apps with Server-Side Rendering: Use React, Redux, and Next to Build Full Server-Side Rendering Applications \ No newline at end of file diff --git a/docs/Nodemailer/BasicExample.md b/docs/Nodemailer/BasicExample.md deleted file mode 100644 index 4829227b5..000000000 --- a/docs/Nodemailer/BasicExample.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -id: nodemailer-basic-example -title: Basic Example -sidebar_label: Basic Example -sidebar_position: 3 -description: Basic Example for How to send mail. -tags: [Node.Js, NodeMailer, env , SMTP ,JavaScript framework] ---- - -How to send Mail basic example to get you started with Nodemailer: - -### In Node & Express Js - -1. **Create a new file named `sendEmail.js`**: - ```javascript - const nodemailer = require('nodemailer'); - - // Create a transporter object - let transporter = nodemailer.createTransport({ - service: 'gmail', - auth: { - user: 'your-email@gmail.com', - pass: 'your-email-password' - } - }); - - // Define email options - let mailOptions = { - from: 'your-email@gmail.com', - to: 'recipient@example.com', - subject: 'Test Email', - text: 'Hello, this is a test email sent using Nodemailer!', - html: 'Hello, this is a test email sent using Nodemailer!' - }; - - // Send the email - transporter.sendMail(mailOptions, (error, info) => { - if (error) { - return console.log(error); - } - console.log('Email sent: ' + info.response); - }); - ``` - -2. **Run the script**: - ```bash - node sendEmail.js - ``` -### In ES6 method - -To use Nodemailer in an ES6 environment, you can take advantage of the modern JavaScript features such as `import` statements, `async/await`, and environment variables for configuration. Below is a step-by-step guide: - -#### Step 1: Set Up Your Project - -1. **Configure your project to use ES6 modules**: - In your `package.json`, add the following property to enable ES6 modules: - ```json - { - "type": "module" - } - ``` - -#### Step 2: Create the Basic Email Sending Script - -1. **Create a file named `sendEmail.mjs`**: - ```javascript - import nodemailer from 'nodemailer'; - import dotenv from 'dotenv'; - - dotenv.config(); - - const sendEmail = async () => { - // Create a transporter object - const transporter = nodemailer.createTransport({ - service: 'gmail', - auth: { - user: your-email@gmail.com, - pass: your-email-password - } - }); - - // Define email options - const mailOptions = { - from: process.env.EMAIL, - to: 'recipient@example.com', - subject: 'Test Email', - text: 'Hello, this is a test email sent using Nodemailer!', - html: 'Hello, this is a test email sent using Nodemailer!' - }; - - // Send the email - try { - const info = await transporter.sendMail(mailOptions); - console.log('Email sent: ' + info.response); - } catch (error) { - console.error('Error sending email: ' + error); - } - }; - - sendEmail(); - ``` - -2. **Run the script**: - ```bash - node sendEmail.mjs - ``` diff --git a/docs/React Native/Bridge.md b/docs/React Native/Bridge.md deleted file mode 100644 index 9375bd8ba..000000000 --- a/docs/React Native/Bridge.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -id: bridge-react-native -title: Bridge -sidebar_label: Bridge -sidebar_position: 4 -tags: [React Native,JavaScript,React.Js,Bridge,Framework] -description: Bridge in React Native ---- - -In the context of React Native, the **bridge** refers to the mechanism that allows communication between JavaScript code (running in the JavaScript engine) and native code (running on the device's operating system). Understanding how the bridge works is crucial for developing performant and efficient React Native applications. - -### How the Bridge Works - -1. **JavaScript Thread**: - - React Native runs JavaScript code in a separate thread called the JavaScript thread. This is where your React components, business logic, and most of your application code reside. - - All UI rendering instructions and updates are also processed in the JavaScript thread. - -2. **Native Modules**: - - React Native provides a set of core components and APIs (like `View`, `Text`, `Image`, etc.) that are implemented as native modules. - - For functionalities not covered by these core components (e.g., accessing device-specific APIs like camera, GPS), you can create custom native modules. - - Native modules are written in the native languages of the platform (Java or Kotlin for Android, Objective-C or Swift for iOS) and communicate with the JavaScript thread via the bridge. - -3. **Bridge Communication**: - - The bridge acts as a communication channel between the JavaScript thread and the native modules. It ensures that JavaScript code can call native methods and access native APIs seamlessly. - - When JavaScript code needs to execute a native method or access a native API, it sends a message (often serialized) across the bridge. - - The native side receives this message, processes the request, and sends back a response or notification (if needed) through the bridge. - - This communication is asynchronous, meaning that JavaScript execution is not blocked while waiting for a response from the native side. - -4. **Performance Considerations**: - - The efficiency of the bridge communication is crucial for the overall performance of React Native applications. - - Minimizing the frequency and payload size of messages sent over the bridge helps in reducing latency and optimizing the app's responsiveness. - - React Native's architecture ensures that UI rendering happens independently on the native side, leveraging the platform-specific capabilities for smooth animations and interactions. - -### Example Scenario - -Let's consider an example where a React Native application needs to access the device's camera functionality: - -- **JavaScript Code**: - ```javascript - import { NativeModules } from 'react-native'; - - const CameraModule = NativeModules.CameraModule; - - // Example function to capture a photo using native module - const capturePhoto = async () => { - try { - const photo = await CameraModule.capturePhoto(); - console.log('Captured photo:', photo); - } catch (error) { - console.error('Error capturing photo:', error); - } - }; - ``` - -- **Native Module (Java for Android)**: - ```java - package com.myapp; - - import com.facebook.react.bridge.ReactApplicationContext; - import com.facebook.react.bridge.ReactContextBaseJavaModule; - import com.facebook.react.bridge.ReactMethod; - - public class CameraModule extends ReactContextBaseJavaModule { - - public CameraModule(ReactApplicationContext reactContext) { - super(reactContext); - } - - @Override - public String getName() { - return "CameraModule"; - } - - @ReactMethod - public void capturePhoto() { - // Implement native functionality to capture photo - // Return result back to JavaScript using promises or callbacks - } - } - ``` - -- **Native Module (Objective-C for iOS)**: - ```objective-c - #import - - @interface CameraModule : NSObject - - @end - - @implementation CameraModule - - RCT_EXPORT_MODULE(); - - RCT_EXPORT_METHOD(capturePhoto) { - // Implement native functionality to capture photo - // Return result back to JavaScript using promises or callbacks - } - - @end - ``` - \ No newline at end of file diff --git a/docs/React Native/Components.md b/docs/React Native/Components.md deleted file mode 100644 index 26dca56aa..000000000 --- a/docs/React Native/Components.md +++ /dev/null @@ -1,171 +0,0 @@ ---- -id: components-react-native -title: Components -sidebar_label: Components -sidebar_position: 2 -tags: [React Native,JavaScript,React.Js,Components,Framework] -description: Components in React Native ---- - -In React Native, components are fundamental building blocks used to create the user interface of mobile applications. They encapsulate UI elements and their behaviors into reusable pieces of code, following a component-based architecture. - -### 1. **Component Structure** - -Components in React Native are defined as JavaScript functions or classes that return a hierarchy of React elements (JSX). There are two main types of components: - -- **Functional Components**: These are simple functions that take `props` (short for properties) as input and return JSX to describe the UI. They are preferred for simple components that don't need state or lifecycle methods. - - ```javascript - import React from 'react'; - import { View, Text } from 'react-native'; - - const MyComponent = (props) => { - return ( - - {props.message} - - ); - }; - - export default MyComponent; - ``` - -- **Class Components**: These are ES6 classes that extend `React.Component`. They are used for more complex components that require state, lifecycle methods, or performance optimizations. - - ```javascript - import React, { Component } from 'react'; - import { View, Text } from 'react-native'; - - class MyComponent extends Component { - render() { - return ( - - {this.props.message} - - ); - } - } - - export default MyComponent; - ``` - -### 2. **Props** - -Props are used to pass data from parent components to child components. They are read-only and help make components more reusable by allowing them to be configured dynamically. Props are typically specified as attributes in JSX. - -Example of using props in a parent component: - -```javascript -import React from 'react'; -import { View } from 'react-native'; -import MyComponent from './MyComponent'; - -const App = () => { - return ( - - - - ); -}; - -export default App; -``` - -### 3. **State** - -State is used to store and manage component-specific data that may change over time. It allows components to re-render when the state updates, reflecting the latest data in the UI. State is initialized in the constructor (for class components) or using the `useState` hook (for functional components). - -Example using state in a class component: - -```javascript -import React, { Component } from 'react'; -import { View, Button } from 'react-native'; - -class Counter extends Component { - constructor(props) { - super(props); - this.state = { - count: 0 - }; - } - - incrementCount = () => { - this.setState(prevState => ({ - count: prevState.count + 1 - })); - }; - - render() { - return ( - -