Mohit Kapadiya
GithubContact
  • About Mohit
  • Skills & Experience
  • 🐍 Python
    • Python Basics
    • Advanced Python
    • Object-Oriented Python
    • Data Science & Machine Learning
    • Web Development
    • DevOps & Automation
    • Python Testing
    • Blockchain Development in Python
    • Networking and Security
    • AI & NLP in Python
    • TensorFlow
    • Web3.py
    • FastAPI
    • OpenCV
    • Python with Servers
    • Pandas
    • SciPy
    • Django
    • Matplotlib
    • Python with DBs
    • NumPy
  • Javascript
    • Basics
    • Advance Javascript
    • Object Oriented Javascript
    • Design Patterns in JS
    • Frameworks & Libraries
    • Blockchain Development in JS
    • Web Frontend in JS
    • Performance Optimization
    • JavaScript Testing
    • Backend in JS
    • JavaScript Security
    • Modern Development (Tooling)
    • JS vs JQuery
    • JS Graphics
    • JS JSON
    • JS AJAX
    • JS with Servers
  • Solidity
    • Dapp Contracts
    • Gas Optimisation
    • Unit Testing
    • ERC 6551
    • ERC 4337
    • EOF
    • Staking Contracts
    • Swap Contracts
    • ERC 20, 721, 1155
  • Frontend
    • FastAPI
    • Web3.py
    • Django
    • Three.js
    • Web3.js
    • Flask
    • Magic-UI
    • Accernety-UI
    • Material-UI
    • ThreeJS
    • AngularJS
    • NextJS
    • Tailwind CSS & Shadcn & Chart JS
    • ReactJS
    • HTML & CSS
  • Backend
    • TensorFlow.js
    • Socket.io
    • Firebase SDK
    • C, C++ & C#
    • Laravel
    • Django & Python
    • NodeJS & ExpressJS
  • Database
    • MongoDB & Mongoose
    • PosgresSQL
    • Vector
    • MySQL
    • Multi DBs Inter-Connections
    • Encryption in DBs
  • Blockchains
    • Avalnche
    • Sui
    • Tron Chain
    • TON
    • Phantom
    • Degen
    • Coti
    • Conflux
    • IOTA
    • Stacks Chain
    • Kaspa
    • BlockDAG
    • ZkSync
    • Polkadot
    • Hyper Ledger
    • Sui
    • Solana
    • Bitcoin
    • XRP Ledger
    • Cardano
    • Quranium
    • Ethereum
    • Solana
    • Arbitrum One & Nova
    • Binance Smart Chain
    • Polygon & Zero Knowledge Proof
  • White Paper Understanding
    • Polkadot
    • Hyper Ledger
    • Sui
    • Solana
    • Bitcoin
    • XRP Ledger
    • Cardano
    • Quranium
    • Ethereum
    • Solana
    • Arbitrum One & Nova
    • Binance Smart Chain
    • Polygon & Zero Knowledge Proof
  • SDKs & API Providers
    • Software Developer Kits (SDKs)
      • Zerodev
      • Safe Wallet SDKs
      • Web3 Auth SDKs
      • Pimlico
    • API Providers
      • Alchemy
      • Infura
      • Moralis
      • Thirdweb
  • Server & Domains
    • Azure
    • Render
    • Heroku
    • Vercel
    • Google Cloud
    • AWS (Amazon Web Service)
    • Domain Name Service Providers
      • Godaddy
      • Copy of Zerodev
      • Safe Wallet SDKs
      • Web3 Auth SDKs
      • Pimlico
    • DevOps
      • Ansible
      • Paramiko
      • Fabric
      • Thirdweb
  • Security Standards
    • Developer Kits
      • Zerodev
      • Safe Wallet SDKs
      • Web3 Auth SDKs
      • Pimlico
    • API Providers
      • Alchemy
      • Infura
      • Moralis
      • Thirdweb
  • Quantum Computer
    • Developer Kits
      • Zerodev
      • Safe Wallet SDKs
      • Web3 Auth SDKs
      • Pimlico
    • API Providers
      • Alchemy
      • Infura
      • Moralis
      • Thirdweb
  • AI, ML & NLP
    • AI & NLP
      • NLTK
      • SpaCy
      • GPT-3
    • ML & Data Science
      • Scikit-learn
      • TensorFlow
      • Keras
      • PyTorch
      • NumPy
      • Panda
      • Seaborn
      • Matplotlib
  • Hardware Wallets & Nodes
    • Developer Kits
      • Zerodev
      • Safe Wallet SDKs
      • Web3 Auth SDKs
      • Pimlico
    • API Providers
      • Alchemy
      • Infura
      • Moralis
      • Thirdweb
  • Protocols
    • ERCs & EIPs
      • ERC 7702
      • ERC 4337
      • ERC 6551
      • ERC 721 & 1155
      • ERC 7560
    • Web 2.0 Protocols
      • ERC 7702
      • ERC 4337
      • ERC 6551
      • ERC 721 & 1155
      • ERC 7560
    • Web 3.0 Protocols
      • Infura
      • Moralis
      • Thirdweb
    • DEX, AMM, LPs
      • Ox Protocol
      • BullX
      • Cow Swap
      • MEVX
      • Photon
      • OKX
      • Pumpfun
      • Uniswap
      • Kyberswap
      • 1 Inch
      • Paraswap
      • Jupiter
      • Moonshot
      • GMGN
    • Cross-chain Swaps
      • Developer Kits
        • Zerodev
        • Safe Wallet SDKs
        • Web3 Auth SDKs
        • Pimlico
      • API Providers
        • Alchemy
        • Infura
        • Moralis
        • Thirdweb
    • Decentralised Wallets
      • Developer Kits
        • Zerodev
        • Safe Wallet SDKs
        • Web3 Auth SDKs
        • Pimlico
      • API Providers
        • Alchemy
        • Infura
        • Moralis
        • Thirdweb
      • Overview of wallets
    • Centralised Wallets
      • Developer Kits
        • Zerodev
        • Safe Wallet SDKs
        • Web3 Auth SDKs
        • Pimlico
      • API Providers
        • Alchemy
        • Infura
        • Moralis
        • Thirdweb
    • Trading On Chain Bots
      • Shuriken Bot
      • Magnum
      • Trojan
      • GMGN
      • Wave Bot
  • System Design
    • 🔀 Horizontal vs. Vertical Scaling
    • 📚Distributed Systems
    • 💾 Microservices
    • 🔒Hashing, Signatures, and Encryption in Microservices
  • Algorithms & Cryptography
    • MPC
      • Gap-Diffie-Hellman (GDH)
    • Sphinics+
    • Falcon Signature Scheme
    • ECC vs SLH DSA
    • Zero Knoledge Proof
    • Public - Private Key Cryptography
    • Hashing Algorithms
      • SHA 256
      • ERC 4337
      • ERC 6551
      • ERC 721 & 1155
      • ERC 7560
    • Signature Validation Algorithms
      • Threshold Signature Scheme(TSS)
      • RSA
      • ECDSA
      • EdDSA
      • SLHDSA (Sphinics+)
      • ECC
    • Encryption Algorithms
      • Alchemy
      • Infura
      • Moralis
      • Thirdweb
  • Portfolio
    • Web 3.0 Projects
      • Frogpay
      • Tanthetaa
      • BLOK Capital
      • Quranium Blockchain
      • Promind
      • Pragmatic Play API Casino Game
    • Web 2.0 Projects
      • Alchemy
      • Infura
      • Moralis
      • Thirdweb
  • Code Testing Toolkits
    • Foundry
    • Hardhat
    • Bouncy Castle
      • Zerodev
      • Safe Wallet SDKs
      • Web3 Auth SDKs
      • Pimlico
  • Tech Automation Approach
    • CI/CD
    • Hardhat
    • Bouncy Castle
      • Zerodev
      • Safe Wallet SDKs
      • Web3 Auth SDKs
      • Pimlico
  • Articles
    • Medium Articles
    • EOF New Solidity Smart Contract Format
  • PUBLICATIONS & RESEARCH PAPERS
    • Papers
    • Talks
    • Patents
    • Standards
  • My Adventure Travels
    • Tokyo for EDCON'24 (Eth Speaker)
    • Kovilpatty for Quantum secure Blockchain
    • Medium Articles
    • EOF New Solidity Smart Contract Format
  • My Book Reading Summaries
    • Experiments Of Truth
    • Kai Chand the sar-e-aasman
    • Fountainhead
    • Medium Articles
    • EOF New Solidity Smart Contract Format
  • 📞 CONTACT
Powered by GitBook
On this page

Was this helpful?

  1. Frontend

ReactJS

Here's a detailed section for my React.js skills covering its features, usecase, and example code snippets.

Overview: React.js is a popular JavaScript library for building user interfaces, particularly single-page applications, with a component-based architecture. It enables efficient updates and rendering of user interfaces through its virtual DOM.

Key Features and Skills:

  • Component-Based Architecture: Created reusable and modular components to build dynamic and maintainable user interfaces.

    import React from 'react';
    
    const Greeting = ({ name }) => (
      <div>
        <h1>Hello, {name}!</h1>
      </div>
    );
    
    export default Greeting;
  • State Management: Managed local component state using React’s useState hook and global state with context or third-party libraries like Redux.

    import React, { useState } from 'react';
    
    const Counter = () => {
      const [count, setCount] = useState(0);
    
      return (
        <div>
          <p>You clicked {count} times</p>
          <button onClick={() => setCount(count + 1)}>Click me</button>
        </div>
      );
    };
    
    export default Counter;
  • Lifecycle Methods and Hooks: Utilized React lifecycle methods (componentDidMount, componentDidUpdate) and hooks (useEffect, useMemo) to handle side effects and optimize performance.

    import React, { useEffect, useState } from 'react';
    
    const DataFetcher = () => {
      const [data, setData] = useState(null);
    
      useEffect(() => {
        fetch('https://api.example.com/data')
          .then(response => response.json())
          .then(data => setData(data));
      }, []); // Empty dependency array means this effect runs once on mount
    
      return (
        <div>
          {data ? <pre>{JSON.stringify(data, null, 2)}</pre> : <p>Loading...</p>}
        </div>
      );
    };
    
    export default DataFetcher;
  • Context API: Implemented Context API for managing global state and avoiding prop drilling.

    import React, { createContext, useState, useContext } from 'react';
    
    const ThemeContext = createContext();
    
    const ThemeProvider = ({ children }) => {
      const [theme, setTheme] = useState('light');
      return (
        <ThemeContext.Provider value={{ theme, setTheme }}>
          {children}
        </ThemeContext.Provider>
      );
    };
    
    const ThemedComponent = () => {
      const { theme, setTheme } = useContext(ThemeContext);
      return (
        <div style={{ background: theme === 'dark' ? '#333' : '#fff', color: theme === 'dark' ? '#fff' : '#000' }}>
          <p>The current theme is {theme}</p>
          <button onClick={() => setTheme(theme === 'dark' ? 'light' : 'dark')}>Toggle Theme</button>
        </div>
      );
    };
    
    export { ThemeProvider, ThemedComponent };
  • React Router: Used React Router for handling routing and navigation within single-page applications.

    import React from 'react';
    import { BrowserRouter as Router, Route, Switch, Link } from 'react-router-dom';
    
    const Home = () => <h2>Home Page</h2>;
    const About = () => <h2>About Page</h2>;
    
    const App = () => (
      <Router>
        <nav>
          <Link to="/">Home</Link>
          <Link to="/about">About</Link>
        </nav>
        <Switch>
          <Route path="/" exact component={Home} />
          <Route path="/about" component={About} />
        </Switch>
      </Router>
    );
    
    export default App;
  • Form Handling: Managed form state and validation using React’s controlled components and libraries like Formik or React Hook Form.

    import React, { useState } from 'react';
    
    const ContactForm = () => {
      const [form, setForm] = useState({ name: '', email: '' });
    
      const handleChange = (e) => {
        const { name, value } = e.target;
        setForm({ ...form, [name]: value });
      };
    
      const handleSubmit = (e) => {
        e.preventDefault();
        console.log('Form Submitted:', form);
      };
    
      return (
        <form onSubmit={handleSubmit}>
          <label>
            Name:
            <input type="text" name="name" value={form.name} onChange={handleChange} />
          </label>
          <label>
            Email:
            <input type="email" name="email" value={form.email} onChange={handleChange} />
          </label>
          <button type="submit">Submit</button>
        </form>
      );
    };
    
    export default ContactForm;
  • Performance Optimization: Applied performance optimization techniques like lazy loading, code splitting, and memoization to enhance application speed.

    import React, { Suspense, lazy } from 'react';
    
    const LazyComponent = lazy(() => import('./LazyComponent'));
    
    const App = () => (
      <Suspense fallback={<div>Loading...</div>}>
        <LazyComponent />
      </Suspense>
    );
    
    export default App;
  • Testing: Performed testing of components and hooks using tools like Jest and React Testing Library to ensure reliability and functionality.

    import { render, screen, fireEvent } from '@testing-library/react';
    import '@testing-library/jest-dom';
    import Counter from './Counter';
    
    test('increments counter on button click', () => {
      render(<Counter />);
      fireEvent.click(screen.getByText(/Click me/i));
      expect(screen.getByText(/You clicked 1 times/i)).toBeInTheDocument();
    });
PreviousTailwind CSS & Shadcn & Chart JSNextHTML & CSS

Last updated 10 months ago

Was this helpful?