After you leave town, your best friend will be here to demonstrate how to catch a pokémon. Then, you will get five pokéballs from your friend. You can go ahead and start catching 'em all now!
Catching a pokémon becomes easier if you can lower its HP and give it a status ailment. Sleep and freeze are especially helpful status ailments, but the other things like poison and paralysis are helpful as well, just not as powerful as sleep and freeze.
And if you need to level up a pokémon, fighting trainers usually gives you more EXP than fighting wild pokémon. Any pokémon that was sent into battle and hasn't fainted before the end of the fight will earn a share of the EXP from the battle, so this is a good way to level up a pokémon that is at a low level: put it in the first slot, then switch it out as soon as the battle starts, replacing it with a stronger pokémon.
Go ahead and catch some pokémon as you head toward Violet City, if you wish. You can go to Route 46 to catch some other types of pokémon before continuing. There is a building that you can go through to get there.
You can buy more pokéballs from the mart in Cherrygrove. You will encounter some trainers after heading north from Cherrygrove.
In Route 31, you can catch a Bellsprout, which you can soon trade in order to receive an Onix. Doing trades is good, because the traded pokémon will earn more EXP per battle than pokémon that you caught.
Dark Cave is along the way, but it's so dark that you can't really do anything there now.