# Best practises for application structure

**URL:** <https://community.bloomreach.com/t/best-practises-for-application-structure/64>\
**Category:** Experience Manager (PaaS/OnPrem)\
**Created:** [July 5, 2018, 1:18pm UTC](https://community.bloomreach.com/t/best-practises-for-application-structure/64 "2018-07-05T13:18:02Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Joeri](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.bloomreach.com/joeri/32/57_2.png) [@Joeri](https://community.bloomreach.com/u/Joeri)\
**Post date:** [July 5, 2018, 1:18pm UTC](https://community.bloomreach.com/t/best-practises-for-application-structure/64/1 "2018-07-05T13:18:02Z")

</div>

Hi

i’m new to Hippo CMS, and I’ve been playing around with it. I noticed that in all tutorials, the “repository-data” folder was used to put webfiles that are actually belonging to the application. This seems odd to me.

Don’t they belong somewhere in the site ?

I’m looking for insights on how to structure your hippo project in the best way.

update: i’ve found [https://www.onehippo.org/library/concepts/web-application/static-webapp-resources.html](https://www.onehippo.org/library/concepts/web-application/static-webapp-resources.html)  
which will probably help me answer the question, but still very interested in your experiences.

Thanks a lot for your input  
Cheers  
Joeri

---

<div class="post-metadata">

**Author:** ![bcanvural](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.bloomreach.com/bcanvural/32/235_2.png) [@bcanvural](https://community.bloomreach.com/u/bcanvural)\
**Post date:** [July 5, 2018, 1:41pm UTC](https://community.bloomreach.com/t/best-practises-for-application-structure/64/2 "2018-07-05T13:41:55Z")

</div>

Hi Joeri,

You shouldn’t change the structure that comes with the archetype. Your webfiles should go under repository-data/webfiles module. These files are synched to the repository automatically and made available to your page components in the request processing pipeline. I recommend following the build a website tutorial to get familiar with developing with hippo:

> **[Build a Website - Bloomreach Experience - Open Source CMS](https://documentation.bloomreach.com/14/trails/developer-trail/introduction.html)**
>
> Open Source Enterprise Content Management

  
You’ll see that in the tutorial you will be updating ftl files in this webfiles module

---

<div class="post-metadata">

**Author:** ![jasper.floor](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.bloomreach.com/jasper.floor/32/28_2.png) [@jasper.floor](https://community.bloomreach.com/u/jasper.floor)\
**Post date:** [July 6, 2018, 2:15pm UTC](https://community.bloomreach.com/t/best-practises-for-application-structure/64/3 "2018-07-06T14:15:29Z")

</div>

To add to this, you do put jsp’s in the site module. They are compiled by your web container so they must be in the required location. You could put your ftl’s there as well but then they aren’t available in the repository.
