title: Dropwizard - organizing your project, understanding terminology, etc
body: <p>I am learning to use Dropwizard. I was able to follow the quickstart guide and run basic REST APIs. </p>
  
  <p>In this <a href="https://dropwizard.github.io/dropwizard/0.7.1/docs/manual/core.html#organizing-your-project" rel="noreferrer">documentation</a>, there is a section called "Organizing your project". </p>
  
  <p>It recommends to organize your project in following parts: project-api, project-client, project-service. </p>
  
  <p>Here are my questions/queries:</p>
  
  <ol>
  <li><p>Please explain, in general terms, the difference between 'api', 'service' and 'client'.</p></li>
  <li><p>Is there an example which strictly follows the above convention using dropwizard?</p></li>
  <li><p>"...project-client should use those classes and an HTTP client to implement a full-fledged client for your service" --- since 'project-service' will have the REST APIs, then why do we need to use HTTP Client?</p></li>
  </ol>
  
  <p>Thanks!</p>