To reduce gas fee and improve scalability, I want to have a side chain. But I still want to leverage main chain for buying/exchange tokens. Any suggestions? Are there any similar projects which have done this?
Check out Plasma.
With Plasma, you can run a child chain (which is a set of smart contracts), and commit the root hash of the child chain to the main chain. The child chain behaves like a state channel (sort of like keeping a tab open at the bar) and only the final state transition hash is committed.
The interactions between two parties via the child chain are instantaneous since all they're doing is transferring signatures of state transitions.
If any participant suspects that another participant has acted maliciously then they can submit a fraud proof to the main chain, which is acting like a court system, and the malicious actor can be penalized while also reversing faulty state transitions.
Plasma chains may also have any number of other plasma child chains, creating trees which can be reduced to a single hash.
To achieve your goal of reducing cost you need to look the direction of state channels you should checkout http://www.raiden.network.