I used 5 of these LEDs before on a project. A piece of trimmed copper clad board underneath sufficed as a heatsink with a touch of heatsink compound. They were individually driven by a ULN2803 driver. Each different colour was current limited with different resistor values as they has different forward voltage drops.
I drove the individual drives of the 2803 with a CPU using PWM to alter their brightness. The C8051F321 microprocessor can drive 5 independant PWM outputs under software control with no flicker.
As you are a beginner, try using an LM317K variable voltage regulator. Heatsink it as it will get hot. Google the LM317K part number, there are plenty of good examples out there.