Shift messages into their own project so they can be shared with the Client project.
Add AdminController to enable the creation of admin accounts.
Modify ApplicationController so that users can only create applications when they have an admin account.
Add Auth controller to allow for authorising users by checking username and password.