Well, this week we're halfway through a major project! We're making an Amazon/Etsy-type website in groups of 4. My team is calling ours Scamazon. It's basically amazing; view it here.

There are a lot of interesting parts of this project, but by far the most interesting part of this project has been user authentication. It doesn't work at all in a way I would have expected.

Our group is using the rails gem devise to run user authentication. I'm not actually writing that part, so my understanding of the user authentication isn't quite fully formed, but it never fails to surprise me that so many complicated behaviors in rails are actually just models with some complicated behaviors mixed in. You generate a devise user model and then the devise gem writes in a lot of complicated behaviors and routes based on that model, and that's it. The deeper we get into rails, the more amazing it is how powerful models are.