Don't rely on the filesystem so much

Now that we can create projects (well, once the second commit in this pull request is applied :stuck_out_tongue_winking_eye:), we can interact with them based on the database.