
Welcome students to the course
Overview of what they'll build (modern weather app)
Course outcomes and prerequisites
Using npx create-next-app
Selecting project options (Tailwind, App Router, etc.)
Initial project structure walkthrough
Installing required packages (Axios, Moment, React Icons)
Setting up environment variables
Getting an API key from OpenWeather
Starting the development server
Verifying the application is working
Creating API service functions
Implementing GET requests with Axios
Error handling for API requests
State management for weather data
Creating a reusable React hook
Implementing API calls through the hook
Testing API implementation
Building the search functionality
Handling form submission
Creating loading states
Creating a unit toggle (F/C)
Implementing temperature unit switching
Styling the toggle component
Location header subcomponent
Date display subcomponent
Weather icon implementation
Combining components
Setting up the main layout
Implementing responsive design principles
Creating the 5-day forecast
Building the forecast card subcomponent
Implementing loading states
Creating weather highlights cards
Displaying wind, humidity, UV, visibility data
Structuring the highlights grid
Implementing multi-city viewing
Setting up state for multiple locations
Creating the layout for city comparisons
Styling adjustments for comparison views
Responsive design for location comparison
Other locations section structure
Creating city weather cards
Building an add city modal
Implementing loading states for cities
Adding cities to comparison
Removing cities from comparison
Error handling for city operations
Styling the temperature toggle
Improving component aesthetics
Ensuring visual consistency
Testing city removal
Debugging styling issues
Verifying component integration
Testing with throttled connections
Improving loading state visuals
Ensuring smooth user experience during loading
Testing on mobile viewports
Making responsive adjustments
Ensuring usability across device sizes
Making final adjustments to UI
Ensuring consistent spacing and alignment
Implementing final visual enhancements
Reviewing the complete application
Discussing potential improvements
Performance considerations
Discussion of API limits
Managing API keys in production
Best practices for API usage
Portfolio showcase
Additional resources
Next steps for students
Course recap and closing thoughts
What you'll build
In this comprehensive, project-based course, you'll learn how to build a professional-grade weather application from scratch using Next.js and Tailwind CSS. This isn't just a simple demo app - you'll create a fully functional weather dashboard with multiple views, city comparisons, dynamic data fetching, and responsive design that works beautifully across all devices.
Who this course is for
This course is perfect for web developers who already have basic knowledge of React and want to level up their skills with Next.js, custom hooks, API integration, and modern UI development. Whether you're looking to enhance your portfolio, improve your front-end architecture skills, or learn practical implementation of React patterns, this project-based course delivers real-world value.
What you'll learn
Set up a modern Next.js application with the App Router
Implement custom React hooks for state management
Create reusable UI components with Tailwind CSS
Integrate with third-party APIs (OpenWeatherMap)
Build responsive layouts that work on mobile and desktop
Implement features like temperature unit conversion and city comparison
Handle loading states and errors gracefully
Structure a React application for maintainability and scalability
Course content
Over 25 lectures and nearly 2 hours of content, you'll follow along step-by-step to build a complete weather application. We'll start with project setup, then progressively add features as we build out the application. You'll learn not just what to code, but why we make certain architectural and design decisions along the way.
Prerequisites
Basic knowledge of JavaScript and React
Familiarity with CSS fundamentals
Understanding of basic web concepts (HTTP, APIs)
Development environment with Node.js installed
By the end of this course, you'll have a professional-looking weather application to add to your portfolio and the skills to build your own data-driven web applications using Next.js and Tailwind CSS.
Requirements
Basic knowledge of React.js
Familiarity with JavaScript ES6+ features
Understanding of CSS fundamentals
Node.js installed on your computer
Text editor or IDE (VS Code recommended)
Free OpenWeatherMap API key (instructions provided)
What you'll learn
Build a complete weather application from scratch using Next.js
Implement responsive UI components with Tailwind CSS
Create and use custom React hooks for state management
Integrate with third-party APIs and handle asynchronous data
Structure a React application with reusable components
Implement features like temperature conversion and location search
Handle loading states and error scenarios gracefully
Create comparison views to display multiple cities' weather data
Apply mobile-first responsive design principles
Target audience
Web developers looking to enhance their React and Next.js skills
Front-end developers wanting to build portfolio-worthy projects
React developers interested in learning practical API integration
Developers wanting to learn modern UI implementation with Tailwind CSS
Anyone looking to build real-world applications with React ecosystem technologies