The first step in the process is going to be grinding or shot blasting the entire surface of the garage floor. This process puts the proper profile on the floor by removing the top layer of concrete which allows the epoxy products to mechanically bond to the concrete surface.
Second step is going to be doing a visual assessment of the entire floor surface to identify any cracks, chips, divots or any other damage that would require filling with an appropriate crack filler. Removing any stains would also fall into this step. Process would depend on what stains are present.
Third step would be to fill all damage areas, address stains and regrind.
Fourth step would be to clean, clean, clean. Alot of sweeping, vacuuming, more sweeping and more vacuuming. Floor must be clean to enable epoxy products to properly bond to floor.
Fifth step would be to get a moisture vapor barrier primer down on the floor to mitigate any possible moisture issues that could cause failure of the floor. This step is critical if the concrete pad is on grade but recommended regardless due to residual moisture that is present in concrete in general.
Sixth step is to begin applying the epoxy layer, at this point flakes or quartz can be broadcast but epoxy can be tinted and left alone as a solid color. Quartz application requires another epoxy layer and a second broadcast but flakes only require a single broadcast. At this point epoxy is left to cure with broadcast materials dying into the epoxy.
Seventh step is cleanup of all broadcast media. Sweeping up loose materials and a thorough vacuuming to remove all loose materials is critical before clear coating for final appearance. Flakes require scraping to remove any upright flakes. This is done by scraping one direction on floor then across the grain. Quartz floors does not require scraping.
Eighth step is clean, clean, clean. Final sweep, final vacuuming to remove any loose broadcast media.
Ninth step is to apply 1-2 coats of urethane clear coat.