Settings pages can be done in one of two ways. First, you can use the built-in settings/options UI. Second, you can create your own. I recommend using the built-in UI.
@PatJ is right on the money: the Plugin Handbook is a great resource and the Codex is another. The plugin handbook has a Quick Reference that has some example.