Review the Bag of Tricks for Image Classification with Convolutional Neural Networks 16 for some pointers.
Preprocessing: Zeros padding with value=4 and then randomly crop a 32x32 image. For normalization use mean=[0.491, 0.482, 0.447] and std=[0.247, 0.243, 0.261]. For data augmentation, use horizontal flip, maybe rotate. There are a lot of options here but these are the basic ones.
Learning Rate: Assuming you are starting with random weights. Initialization the weights using He init. Do warmup for first 5 epochs (linearly increase learning rate from 0 to final value with constant step rate). Then you can use the step decy method, where the learning rate is dropped by 10 after 30 epochs. Cosine annealing is also a good alternative.
I generally prefer cyclic learning 5.
Use batch size = 32. You can use higher but it would be sufficient. Use SGD+momentum as the optimizer. You can also test AdamW.
There are many more techniques like Multi-Sample Dropout, Mish activation function, LookAhead Optimizer with RAdam, multi sample data augmentations.
The implementation is easy, just start implementing one step and it would be fine.