The eddiebot-ros repository, provides an example of using modern Gazebo and ROS2 versions to simulate and navigate a differential mobile robot called Eddie.
It might serve as a good example for newer versions of Gazebo and ROS2 that might not be documented as well as the previously established ones.
There is also an accompanying ROS2 course that goes over ROS2 and Gazebo concepts using the official documentations.