There’s two main parts where you can work with PHP, which are snippets and plugins. From there, you’re free to use any PHP you want.
Heck, you could include CodeIgniter there!
What makes interacting with other systems convenient is the API. There’s PHPDocumenter docs for that at
http://api.modxcms.com, and I guess the most used part is also on the rtfm:
http://rtfm.modx.com/display/revolution20/Class+Reference
If you need the information on what snippets/plugins are (I have no idea about your skill level with MODX), there’s info on snippets here:
http://rtfm.modx.com/display/revolution20/Snippets and on plugins here:
http://rtfm.modx.com/display/revolution20/Plugins
There’s a book on Packt Publishing about MODX (there’s a first and second edition) that discusses basicly how to set up a website in MODX Evolution (1.x), but most of it would apply to Revolution (2.x). I don’t think it goes into much detail on creating snippets or plugins, but I honestly wouldn’t know as I never bought it. They also offer it as an ebook.
Now, all the above is about what you can do from within the manager - but you can also make
Custom Manager Pages which are slightly more advanced, can consist of multiple pages (actions). Often build with the ExtJS framework, but you could just throw in some tables or whatever you want in there.
There’s a robust security system built into MODX that you can use, there’s also an addon (I think it’s called RPX, or now Engaged:
https://github.com/opengeek/engaged) that hooks into JanRain Engaged to setup external auth such as facebook, twitter etc.
You could use Quip for your reviews (that can be linked to the user). For facebook "likes" there’s a real simple javascript code you can copy from the facebook site and put in your template.
If you have specifics you need some help with, that’s easier to help than a global idea like this.