initial app scaffold and domain model