CRUD Stuff for Projects

With specs.
Part (2): You can refer to `project` directly, and you don't need to set @project at all.