0124782 visits since 05 May, 2021
Home || Notes >> ReactJS - Node js [first update: July 04, 2022] [Last update: July 24, 2022]

july 24, 2022: node es6

node-es6 node-es6

july 24, 2022: reactjs-client-firebase-createuserwithemailpassword

reactjs-client-firebase-createuserwithemailpassword

july 21, 2022: bun javascript runtime

bun javascript runtime

july 21, 2022: nodejs firebase functions deploy "index.js"

nodejs firebase functions deploy index.js

july 20, 2022: firebase deploy stop page reload 404 error [enable page reload]

firebase deployed page refresh resolve

july 19, 2022: javascript promise

javascript promise

july 13, 2022:: javascript "fetch"

javascript fetch

july 11, 2022:: firebase admin sdk functionalities

firebase admin adk functionalities

July 08, 2022 0240 hours: firebase auth reactjs frontend

            Delete User
            var user = firebase.auth().currentUser;user.delete().then(function() {
              // User deleted.
              console.log('User Deleted');
            }).catch(function(error) {
              // An error happened.
            });
        
             Send a password reset email
            var auth = firebase.auth();
            var emailAddress = "user@example.com";auth.sendPasswordResetEmail(emailAddress).then(function() {
              // Email sent.
              console.log('Email Sent');
            }).catch(function(error) {
              // An error happened.
            });
        
             Set a user’s password
            var user = firebase.auth().currentUser;
            var newPassword = getASecureRandomPassword();user.updatePassword(newPassword).then(function() {
              // Update successful.
            }).catch(function(error) {
              // An error happened.
            });
        
            Send a user a verification email
            var user = firebase.auth().currentUser;user.sendEmailVerification().then(function() {
              // Email sent.
            }).catch(function(error) {
              // An error happened.
            });
        
            Set a user’s email address
            var user = firebase.auth().currentUser;user.updateEmail("user@example.com").then(function() {
              // Update successful.
            }).catch(function(error) {
              // An error happened.
            });
        
            update user details
            var user = firebase.auth().currentUser;user.updateProfile({
              displayName: "Updated User's Name",
              photoURL: "https://example.com/user/profile.jpg"
            }).then(function() {
              // Update successful.
              console.log('User Profile Updated Successfully');
            }).catch(function(error) {
              // An error happened.
            });
        
            signed in user details
            If a user isn't signed in, currentUser is null:

            var user = firebase.auth().currentUser;if (user) {
              // User is signed in.
              if (user != null) {
                name = user.displayName;
                email = user.email;
                photoUrl = user.photoURL;
                emailVerified = user.emailVerified;    uid = user.uid;  
                // The user's ID, unique to the Firebase project. Do NOT use
                // this value to authenticate with your backend server, if
                // you have one. Use User.getToken() instead.
              }
            } else {
              // No user is signed in.
            }
        
            signout user
            firebase.auth().signOut().then(function() {
              // Sign-out successful.
              console.log('User Logged Out!');
            }).catch(function(error) {
              // An error happened.
              console.log(error);
            });
        
            authentication observer
            firebase.auth().onAuthStateChanged(function(user) {
              if (user) {
                // User is signed in.
                var displayName = user.displayName;
                var email = user.email;
                var emailVerified = user.emailVerified;
                var photoURL = user.photoURL;
                var isAnonymous = user.isAnonymous;
                var uid = user.uid;
                var providerData = user.providerData;
                // ...
              } else {
                // User is signed out.
                // ...
              }
            });
        
            sign in user
            var email="someone@example.com";
              var password="password";
              
              //Sign In User with Email and Password
              firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
                // Handle Errors here.
                var errorCode = error.code;
                var errorMessage = error.message;
                console.log(errorCode);
                console.log(errorMessage);
            });
        
            sign up new user
            var email="someone@example.com";
              var password="password";
              
              //Create User with Email and Password
              firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
                // Handle Errors here.
                var errorCode = error.code;
                var errorMessage = error.message;
                console.log(errorCode);
                console.log(errorMessage);
              });
        
            reactjs install firebase
                - npm install firebase
            file: firebase-config.js
                // Import the functions you need from the SDKs you need
                import firebase from "firebase/compat/app";
                import "firebase/compat/auth";
                
                // TODO: Add SDKs for Firebase products that you want to use
                // https://firebase.google.com/docs/web/setup#available-libraries
                
                // Your web app's Firebase configuration
                const firebaseConfig = firebase.initializeApp({
                    apiKey: "AIzaSyBhy23tSfse8bIO0mMLbYnyA5NQAXsoxtY",
                    authDomain: "beta-askmeidentity.firebaseapp.com",
                    projectId: "beta-askmeidentity",
                    storageBucket: "beta-askmeidentity.appspot.com",
                    messagingSenderId: "443769079350",
                    appId: "1:443769079350:web:3b84e0b62ef8f8c5b37a97"
                });
                
                export default firebaseConfig;
        


July 07, 2022: firebase deploy

            firebase init
                - ? Are you ready to proceed? Yes
                - ? Which Firebase features do you want to set up for this directory? Press Space to select features, then Enter to confirm your choices. 
                    (*) Hosting: Configure files for Firebase Hosting and (optionally) set up GitHub Action deploys
                - ? What do you want to use as your public directory? build
                - ? Configure as a single-page app (rewrite all urls to /index.html)? No
                - ? Set up automatic builds and deploys with GitHub? No
                - ? File build/index.html already exists. Overwrite? No
            firebase login
            npm run build
            firebase deploy
        

July 05, 2022: react icons

            npm install react-icons
            import {FaAt, FaPhoneAlt, FaGithub, FaLinkedin, FaYoutube, FaFacebookSquare} from "react-icons/fa";
            <FaGithub size={"15px"} style={{marginRight: "20px", color: "#000"}} />
        

July 05, 2022:: basic node express server

firebase cli login with different account

            firebase login:add <any other account ashish@ranjan.com>
        

july 04, 2022: reactjs absolute path

            inside src folder file: jsconfig.json
            {
                "compilerOptions": {
                    "baseUrl": "."
                },
                "include": ["src"],
                "exclude": ["node_modules", "build"]
            }
        

july 04, 2022: stripe payment checkout example

            client reactjs: App.js
            import logo from './logo.svg';
            import './App.css';
            
            function App() {
                return (
                    <div className="App">
                        <header className="App-header">
                            <img src={logo} className="App-logo" alt="logo" />
                            <p>
                                Edit <code>src/App.js</code> and save to reload.
                            </p>
                            <a
                                className="App-link"
                                href="https://reactjs.org"
                                target="_blank"
                                rel="noopener noreferrer"
                            >
                                Learn React
                            </a>
                            <br /><br />
                            <form action="/create-checkout-session/1" method="POST">
                                <button type="submit">Checkout product 1</button>
                            </form>
                            <form action="/create-checkout-session/2" method="POST">
                                <button type="submit">Checkout product 2</button>
                            </form>
                        </header>
                    </div>
                );
            }
            
            export default App;
            
server: index.js require('dotenv').config(); const express = require("express"); const app = express(); const stripe = require('stripe')(process.env.STRIPE_TEST_SECRET_KEY); // middleware // endpoints app.get("/", (req, res) => { console.log("root route"); res.send("root route"); }); const purchase_items = { 1: 200, 2: 300 }; app.post('/create-checkout-session/:id', async (req, res) => { const id = req.params.id; // console.log("purchase_items.id:: ",purchase_items[id]); // console.log(id); const session = await stripe.checkout.sessions.create({ line_items: [ { price_data: { currency: 'usd', product_data: { name: 'T-shirt', }, unit_amount: purchase_items[id] * 100, }, quantity: 1, }, ], mode: 'payment', success_url: 'http://localhost:3000?success=1', cancel_url: 'http://localhost:3000?success=0', }); res.redirect(303, session.url); }); // listen const PORT = process.env.PORT || 1198; app.listen(PORT, () => { console.log("listening on port " + PORT); });

July 04, 2022: basic node code and run

            in command prompt
            npm init -y
            npm install express --save
            npm install nodemon --save-dev
            
folder structure - server > node_modules - index.js - package-lock.json - package.json
edit index.js file const express = require("express"); const app = express(); // middleware // endpoints app.get("/", (req, res) => { console.log("root route"); res.send("root route"); }); // listen const PORT = process.env.PORT || 1198; app.listen(PORT, ()=> { console.log("listening on port " + PORT); });
package.json file { "name": "server", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "nodemon": "^2.0.18" }, "dependencies": { "express": "^4.18.1" } }
from command prompt run the server nodemon start
in browser visit "http://localhost:1198/" output: root route

July 04, 2022: node --save vs --save-dev

            –save: The package installed is core dependency.
            –save-dev: The package installed is not a core rather development dependency.
            
            –save: All core dependency is listed under dependencies in package.json.
            –save-dev: All development dependency is listed under devDependencies in package.json.
            
            –save: It will be installed if a third person tries to install or clone your package.
            –save-dev: It will be installed if a third person tries to clone your package.
            
            –save: Example: express, body-parser etc.
            –save-dev: Example: nodemon
        

July 04, 2022: node dependencies vs devDependencies

                "dependencies": Packages required by your application in production.
                "devDependencies": Packages that are only needed for local development and testing.
        

July 04, 2022: node devdependencies

            install nodemon in dev dependencies:: npm install nodemon --save-dev
            {
              "name": "server",
              "version": "1.0.0",
              "description": "",
              "main": "index.js",
              "scripts": {
                "test": "echo \"Error: no test specified\" && exit 1"
              },
              "keywords": [],
              "author": "",
              "license": "ISC",
              "devDependencies": {
                "nodemon": "^2.0.18"
              }
            }
        

July 04, 2022: node

            npm init -y
            //will simply generate an empty npm project without going through an interactive process.
            //The -y flag when passed to NPM commands tells the generator to use the defaults instead of asking questions.
            //The -y stands for yes.