hi David,
yeah, the documentation of Slick is still lacking, the most important concept to grasp is that you actually have to forget SQL, and think "scala collections". then you can more easily build complex queries in slick.
personally, in my projects I use the "EntityRows" all over the place. since they are just case classes. they dont have any DB-specific stuff attached. I also serialize them to JSON sometimes and use them in the frontend.
depending on the number of transformations involved between database tables and final display-data of the web application, you might want to introduce another level of intermediary objects in order to keep database stuff from application logic more separate. It really depends on the project.
regarting Boolean vs. tinyint mapping: I suggest you adapt the slick code generator to your needs. see this documentation here:
slick maps tinyint to boolean just fine, but you have to tell your codegenerator to generate Booleans instead of Bytes.
if you find yourself changing a LOT of the things in the generated code, why not drop the generator altogether and include the generated code in your project so you can change it directly?
Cheers,
Chris