Yes, this absolutely a possible project, although tracking cats seems a more popular project from a quick Google! see http://pawtrack.com/
IMHO, your main issue is the wireless link that such a system would require. You have several options, each with its own pro's and con's.
You can use standard cell phone technology as your link. This will give you wide area tracking, but the modules are quite expensive; you'll need a SIM, and cell technology uses a fair amount of power, so you will either have fairly short battery life, or you will need a bigger dog to carry around the battery.
An example module for the Arduino is this: https://store.arduino.cc/product/A000043
Beware: some cellular modules only connect to 2G networks which are being switched off in the next year or so. These boards will support TCP/IP, so MQTT or HTTP connections are supported directly.
There are now a number of Wifi equipped development boards available at a very reasonable price. The ESP8266 is very popular because of its extremely low price and range of programming environments. It is supported by the Arduino ESP8266 project which is stable and very active, by NodeMcu, which provides a LUA interpreter, and by Espruino, which provides javacript. Obviously, the main drawbacks are range (maybe 100m line of sight) and to a certain extent, power consumption.
I'd recommend the NodeMcu board (rather than the lua software) rather than the base module, which is extremely cheap and has a serial port and power regulator on board, which makes life easier for beginners.
Both the Arduino and LUA environments support MQTT, so connection to ThingStudio is nice and simple
http://www.banggood.com/buy/esp8266.html is an example.
ZigBee and proprietary short range radios.
There are many different options here, almost all of which are incompatible with each other.
With these solutions, you'll need to provide both ends of the link, one with some sort of gateway through to the Internet and some conversion from the packet based comms on the board to MQTT or HTTP. Again the ranges here are modest, up to say 100m in urban areas, but the great gain is on battery life, and physical size. ZigBee is the recognised professional standard (802.15.4) but the modules are somewhat more expensive. On the other side, HopeRF are a popular supplier of rf modules of a bewildering variety, and some have been integrated into Arduino type boards, such as the JeeNode. http://www.digitalsmarties.net/products/jeenode
You can also buy modules direct, and connect them to a dev board of your choosing. http://www.hobbytronics.co.uk/wireless/rf-transmit-receiver/rfm69cw-wireless. Again, the range is fairly low, but the cost and power consumption are similarly small.
The new rising technology technology is Low Power Wide Area Network, which seeks to provide relatively low bandwidth (Kb/s), long range (Km's) and very low power consumption communications. The two standard here are SigFox, and LoRa. There are many projects all over the world for rolling out LPWan networks, but they are mostly in early stages. The Things Network, http://thethingsnetwork.org/ is a crowdsourced organisation to create LoRa networks in many cities world wide, although there are many others, both commercial and community based.
All of these projects feature gateways to convert the wireless protocols to stand IP based ones.
Even though its early days, this is clearly where IoT communications is going for battery powered applications.
Once you have actually established a link, almost all GPS receivers output a standard format, called NMEA, (http://www.gpsinformation.org/dale/nmea.htm), for which there are parsers available for a wide variety of platforms (eg: https://github.com/jamesp/node-nmea).
I'd probably pipe the stream into the fantantastic node-red, which is a visual front end to nodejs and has great integration to ThingStudio via MQTT. The reason for this is that you may not have your ThingStudio app open at all times, and you will want alerts to be generated even when you are not running TS. This is where node-red comes in, it can store tracking information, easily generate alerts and also pass the data on via MQTT so that you have a nice UI via ThingStudio.
There are a bunch of other folks on the forum who will have different opnions to me or more data on specific options, so please guys, comment away!