Intermittent no starts are very difficult to diagnose without actually having the car in front of you because there are many possibilities (eg. ignition, fuel, electrical, etc.). But by your description it sounds like you may have a loose electrical connection. The most cost effective thing for you to do is to have a techinician diagnose it instead of buying parts to replace something you may not need. The check engine light being on means nothing unless it stays on while the engine is running. Good new is if you are able to push start the engine your alternator is good
