There should be no specific "Welcome" screen. Any page is a valid entry point, and devise will authenticate as required. It is then up to the controller to render sensible page content.
This leads to considering routes.
Do it with IDs for now [ugh].
beer.com/project/1/build/20
beer.com/project/874/build/5
etc.
Routes cannot be integers per-user, because then:
[userA] beer.com/project/1/
[userB] beer.com/project/1/
Might be different projects, and when these users are collaborators on one (or both) of them, they cannot cut-and-paste links to each other.
Nicest would be friendly names, but this would mean a user cannot be a collaborator on two different projects with the same name.
beer.com/my-new-project/build/1
beer.com/my-awesome-app/build/1
A user could then not collaborator on two projects named "my-new-project".
Perhaps they could be scoped by the tuple (owner, name). This would mean a person could not take ownership of a project which has the same name as a project they already own ; however, this makes sense by analog to the "real world".
There should be no specific "Welcome" screen. Any page is a valid entry point, and devise will authenticate as required. It is then up to the controller to render sensible page content.
This leads to considering routes.
Do it with IDs for now [ugh].
beer.com/project/1/build/20 beer.com/project/874/build/5 etc.
Routes cannot be integers per-user, because then:
Might be different projects, and when these users are collaborators on one (or both) of them, they cannot cut-and-paste links to each other.
Nicest would be friendly names, but this would mean a user cannot be a collaborator on two different projects with the same name.
A user could then not collaborator on two projects named "my-new-project".
Perhaps they could be scoped by the tuple (owner, name). This would mean a person could not take ownership of a project which has the same name as a project they already own ; however, this makes sense by analog to the "real world".