a too general post without a specific question... for a frequently discussed application.
You did no research on your own!
* Please look at the box "Similar Threads" at the bottom of this page
* Please use the "search" function of this forum
* Please use Google
After your research you choose a possible solution for you.
Then design it.
If you then encounter some specific problems, then you are welcom to ask them here.