

- 66
- Episodes
- 1
- Ratings
- 2021
- First episode
About Weekly Code Quickies
Weekly Code Quickies is a podcast designed for programmers and developers of all skill levels. Each episode is a bite-sized, quick-hit of valuable information and tips on a specific programming languages, back to front-end frameworks, best tools, emerging technologies, and best practices for working remotely. The podcast is perfect for those who are short on time but still want to stay up-to-date with the latest developments in the industry, including the latest tech news, new technologies, and gaming industry updates. norbertbmwebdev.substack.com (https://norbertbmwebdev.substack.com?utm_medium=podcast)
- Publisher
- Norbert B.M.
- Category
- news
- Language
- en
- Explicit
- No
- First episode
- 28 Sept 2021
- Latest episode
- 26 Jul 2025
Latest episodes
66 episodes in the feed.

26 Jul 2025
Build a Live Stock Price Tracker with React, Tailwind CSS & Alpha Vantage API
Looking to build your own real-time stock market tracker app? In this hands-on tutorial, we’ll use React, Tailwind CSS, and the Alpha Vantage API to create a sleek and functional live stock price tracker. Whether you’re a frontend dev or a beginner trying to get into finance tech, this is a project-based learning opportunity that teaches practical skills while building something useful. In this project, you'll learn how to: - Fetch live stock prices from an API using React hooks - Manage dynamic lists and user input - Display loading states and error handling - Style your app with Tailwind CSS for a professional look Perfect for beginners and intermediate developers looking to boost their React skills! 🛠️ What We'll Build * 🔍 A stock search bar with live suggestions * 💰 A dashboard showing real-time prices * 📉 Dynamic price color change (green/red) * 📱 Clean Tailwind-powered responsive UI * 🌐 API integration with Alpha Vantage (free key!) 🚀 Technologies Used * React + Vite * Tailwind CSS * Alpha Vantage API (Get your key) * React hooks: useState, useEffect, fetch 🧱 Project Setup bash CopyEdit npm create vite@latest stock-tracker --template react cd stock-tracker npm install npm install -D tailwindcss postcss autoprefixer npx tailwindcss init -p Tailwind Setup (tailwind.config.js): js CopyEdit content: [ "./index.html", "./src/**/*.{js,ts,jsx,tsx}", ], Tailwind in index.css: css CopyEdit @tailwind base; @tailwind components; @tailwind utilities; 🔗 API Setup with Alpha Vantage Sign up at AlphaVantage.co and grab your API key. Example fetch call: js CopyEdit const fetchStockPrice = async (symbol) => { const res = await fetch(`https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=${symbol}&apikey=YOUR_KEY`); const data = await res.json(); return data['Global Quote']; }; 📊 Displaying Stock Data Example JSX: jsx CopyEdit {stockName} 0 ? 'text-green-500' : 'text-red-500'}`}> ${stockPrice} ({priceChange}%) 🎨 UI Tips with Tailwind CSS * Use grid-cols-2 or flex justify-between for layouts * Add a search input with a dropdown using absolute, bg-white, z-10 * Animate loading state with animate-pulse 📱 Optional Enhancements * Save recent stock symbols to localStorage * Add a chart using Chart.js or Recharts * Show currency, volume, or market cap Source Code: import React, { useState, useEffect } from "react"; // StockPrice component fetches and displays the price for a given ticker function StockPrice({ ticker = "" }) { const [price, setPrice] = useState(null); // Holds the fetched price const [loading, setLoading] = useState(true); // Loading state const [error, setError] = useState(null); // Error state useEffect(() => { // Fetch stock price from Alpha Vantage API const fetchStockPrice = async () => { try { setLoading(true); const apiKey = import.meta.env.VITE_ALPHAVANTAGE_API_KEY; // Uncomment and set your API key const response = await fetch( `https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=${ticker}&apikey=${apiKey}` ); if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); const data = await response.json(); // Check if the API returned a valid price if (data["Global Quote"] && data["Global Quote"]["05. price"]) { setPrice(parseFloat(data["Global Quote"]["05. price"]).toFixed(2)); setError(null); } else { setError("Could not retrieve price for this ticker."); setPrice(null); } } catch (e) { setError(`Error fetching data: ${e.message}`); setPrice(null); } finally { setLoading(false); } }; fetchStockPrice(); // Call the fetch function when ticker changes }, [ticker]); return ( {/* Display the ticker symbol */} {ticker} {/* Show loading spinner while fetching */} {loading && ( Loading price... )} {/* Show error message if there is an error */} {error && {error} } {/* Show the price if loaded successfully */} {!loading && !error && price !== null && ( ${price} )} {/* Show message if no data is available */} {!loading && !error && price === null && ( No data available. )} ); } // Main StockPriceTracker component manages the list of tickers and input export default function StockPriceTracker() { const [tickers, setTickers] = useState(["NVDA", "MSFT", "GOOGL"]); // Initial tickers const [input, setInput] = useState(""); // Input for new ticker // Add a new ticker to the list const addTicker = () => { const val = input.trim().toUpperCase(); if (val && !tickers.includes(val)) { setTickers([...tickers, val]); setInput(""); } }; return ( {/* App title */} My Stock Tracker {/* Input and Add button for new tickers */} setInput(e.target.value)} placeholder="Add ticker (e.g. AAPL)" /> Add {/* Display StockPrice components for each ticker */} {tickers.map((ticker) => ( ))} ); } Get full access to Norbert’s Web Dev School at norbertbmwebdev.substack.com/subscribe (https://norbertbmwebdev.substack.com/subscribe?utm_medium=podcast&utm_campaign=CTA_4)

8 Jul 2025
Mastering React Router v7 with TailwindCSS & Vite – Complete Crash Course
In this guide, we’ll walk step-by-step through creating a fully functional React app using React Router v7, styled with TailwindCSS, and powered by Vite. This is your go-to tutorial for learning client-side routing in React — from setup to nested routes and 404 pages. 📦 Technologies Used * React 19 (via Vite) * React Router v7.6.3 * TailwindCSS 4.1+ * Vite (for fast build + dev server) 🛠️ Project Setup with Vite & TailwindCSS React Router Crash Course: Step-by-Step Guide React Router is the standard routing library for React. In this crash course, we’ll build a simple multi-page app using React Router v6+ and Vite. Let’s get started! 1. Project Setup First, create a new React project using Vite: npm create vite@latest react-router-crash-course -- --template react cd react-router-crash-course npm install Install React Router: npm install react-router-dom 2. Project Structure Organize your files as follows: src/ App.jsx main.jsx components/ Button.jsx Navigation.jsx pages/ HomePage.jsx AboutPage.jsx ContactPage.jsx ProductsPage.jsx ProductDetailPage.jsx NotFoundPage.jsx Dashboard/ DashboardLayout.jsx DashboardHome.jsx DashboardProfile.jsx DashboardSettings.jsx 3. Setting Up the Router In main.jsx, wrap your app with BrowserRouter: import React from "react"; import ReactDOM from "react-dom/client"; import { BrowserRouter } from "react-router-dom"; import App from "./App.jsx"; import "./App.css"; ReactDOM.createRoot(document.getElementById("root")).render( ); 4. Defining Routes In App.jsx, set up your routes: import { Routes, Route } from "react-router-dom"; import Navigation from "./components/Navigation"; import HomePage from "./pages/HomePage"; import AboutPage from "./pages/AboutPage"; import ContactPage from "./pages/ContactPage"; import ProductsPage from "./pages/ProductsPage"; import ProductDetailPage from "./pages/ProductDetailPage"; import NotFoundPage from "./pages/NotFoundPage"; import DashboardLayout from "./pages/Dashboard/DashboardLayout"; import DashboardHome from "./pages/Dashboard/DashboardHome"; import DashboardProfile from "./pages/Dashboard/DashboardProfile"; import DashboardSettings from "./pages/Dashboard/DashboardSettings"; function App() { return ( <> } /> } /> } /> } /> } /> }> } /> } /> } /> } /> ); } export default App; 5. Creating Navigation In components/Navigation.jsx, add navigation links: import { NavLink } from "react-router-dom"; function Navigation() { return ( Home About Contact Products Dashboard ); } export default Navigation; 6. Building Pages Create simple components for each page in the pages/ directory. Example for HomePage.jsx: function HomePage() { return Welcome to the Home Page! ; } export default HomePage; Repeat for AboutPage.jsx, ContactPage.jsx, etc. 7. Dynamic Routes In ProductDetailPage.jsx, use the useParams hook to get the product ID: import { useParams } from "react-router-dom"; function ProductDetailPage() { const { id } = useParams(); return Product Details for ID: {id} ; } export default ProductDetailPage; 8. Nested Routes (Dashboard Example) In DashboardLayout.jsx, use the Outlet component: import { Outlet, NavLink } from "react-router-dom"; function DashboardLayout() { return ( Dashboard Home Profile Settings ); } export default DashboardLayout; 9. Handling 404s In NotFoundPage.jsx: function NotFoundPage() { return 404 - Page Not Found ; } export default NotFoundPage; 10. Running the App Start your development server: npm run dev Visit http://localhost:5173 to see your app in action! Conclusion You now have a working React app with multiple pages, nested routes, dynamic routes, and a 404 page—all powered by React Router. Experiment by adding more pages or features! Get full access to Norbert’s Web Dev School at norbertbmwebdev.substack.com/subscribe (https://norbertbmwebdev.substack.com/subscribe?utm_medium=podcast&utm_campaign=CTA_4)

10 Jun 2025
🧠 React Components Deep Dive: Props, State, Composition & Hooks (2025)
In this tutorial, you'll get a complete understanding of React components including how to build and structure them using best practices. You'll learn about functional components, props, state, JSX, hooks, composition, and how to break an app into reusable modules. 📽️ YouTube Video Title (High CTR) 🔧 Step-by-Step Tutorial 1. 📦 What is a Component in React? * A component is a reusable and self-contained part of the UI. * It’s either a function or class (function preferred). * Allows splitting the UI into isolated pieces. function MyComponent() { return Hello World ; } 2. 🧩 Types of Components ✅ Functional Components (modern, preferred) const Welcome = () => Welcome! ; ❌ Class Components (legacy) class Welcome extends React.Component { render() { return Welcome! ; } } 3. 🛠 Using Props Props = "properties" → input data passed to a component.They are read-only and passed via JSX attributes. function Greeting({ name }) { return Hello, {name}! ; } 4. 🔁 State Management State = data that can change.Use useState to manage it in a functional component. const [count, setCount] = useState(0); Updating state triggers a re-render of the component. 5. ⏱ Lifecycle with useEffect React uses useEffect() for side effects like fetching data. useEffect(() => { console.log("Component Mounted"); }, []); // Empty array = run once 6. 💻 JSX Syntax JSX = HTML + JavaScript hybrid syntax.It compiles to React.createElement() behind the scenes. const App = () => ( Hello JSX! ); 7. 🧱 Component Composition Components can include other components → reusable UIs. const Page = () => ( ); 8. 📦 Exporting and Importing Components Create a component: const Footer = () => © 2025 ; export default Footer; Use it: import Footer from './components/Footer'; 9. 📁 Project Refactor Example We extracted Footer.jsx, Home.jsx, Page.jsx, RecipePage.jsx, RecipeCard.jsx, and RecipeModal.jsx components into a structured folder system. Folder Structure: src/ ├── components/ │ ├── Footer.jsx │ ├── Page.jsx ├── pages/ │ ├── Home.jsx │ ├── RecipePage.jsx │ ├── Recipes/ │ │ ├── RecipeCard.jsx │ │ ├── RecipeModal.jsx 10. 📚 Best Practices * ✅ Name components with capital letters * ✅ One export default per file * ✅ Keep components small & focused * ✅ Use props to customize components * ✅ Return a single parent element Get full access to Norbert’s Web Dev School at norbertbmwebdev.substack.com/subscribe (https://norbertbmwebdev.substack.com/subscribe?utm_medium=podcast&utm_campaign=CTA_4)
Reach and audience
Public platform figures. Ratings count people who left a rating, not total listeners.
- Spotify
- 5.0 / 5
- 1 ratings
Contact Weekly Code Quickies
- Guest appearances
- Books guests
Based on episode analysis; this does not confirm that the show is currently accepting guests.
Host of Weekly Code Quickies?
Claim your podcast to manage its listing and keep your show details accurate.
Pod Engine is an independent podcast discovery and analytics service and is not affiliated with or endorsed by this podcast. Artwork and show content belong to their owners. Full legal notice.
Explore this show
Podcast research with Pod Engine