Default making a Chromecast-clone with Rasberry Pi

I am a complete newbie and I have just purchased with Rasberry Pi and want to make a cool wireless appliance/phone app project out of it that behaves a bit like Chromecast.

It's important to make it as simple to configure as possible upon initial set up with Wi-Fi Network ID and password in Raspberry Pi. I want to hide the command line and GUI's of Rasberry Pi from a non-technical user. As you know, Chromecast does all this in a very intuitive way.

Upon powering up and connecting to a TV, Chromecast makes itself discover-able and configurable to a laptop or Android phone running a Chromecast App. Then a user can configure Chromecast's wi-fi network and password within the App( without a user ever connecting to it via USB or Ethernet cable or typing in a 192.168.1.254 or any URL address, as in configuring Wi-Fi router). It's great to help user to manage the Wi-Fi and password settings..etc while hiding that complexities away from a user.

So this gets me thinking about using the same technique with my experimental Raspberry Pi.

I want to implement the Chromecast's self-broadcast and self-discovery via Wi-Fi and App with the experimental project and thus save a user the hassle of connecting to Raspberry Pi to USB or Ethernet cable in order to configure its Wi-Fi settings, but instead through a custom App.

The only problem I have is: How does Chromecast broadcast itself onto the local network? what protocol does it use to make it self-discoverable to other local network portable devices like Android phone running the Chromecast App?

What book do you recommend to help a complete beginner like myself?

I have no clue at all searching all over Google.

Please help if you know any idea. Thanks!