# Directory Structure

## Overview

The default directory structure is intended to provide a great starting point for both Progressive Web App and Cordova App.

## The Root Directory

* `/res` This directory contains platform-specific resources such as launch icons, splash screens, configuration and resource files for the Cordova project.
* `/www` This directory contains the project's HTML/CSS/JS assets.
* `config.xml`  It is a global configuration file that controls the Cordova app's behavior.

## The www Directory

* `/assets` This directory contains the CSS, JS, images, fonts assets etc.
* `/partials` This directory contains the HTML files known as partials.
* `index.html` This file is the entry point to the app.
* `manifest.json`  This Web App Manifest is a simple JSON file that tells the browser about your PWA and how it should behave when installed on the user's home screen.
* `service-worker.js` This file empowers the PWA by enabling offline caching, push notifications etc.
* `.htaccess` This is a configuration file for Apache Web Server.
* `favicon.ico` This is a favicon in ICO format.

## The assets Directory

The `/assets` contains two directories  — `/vendor` and `/custom`

* The `/vendor` directory contains the core dependencies, third-party libraries and plugins used in the app.
* The `/custom` directory contains the custom assets such as images used in the app, CSS overrides or app-specific JavaScript functions.

{% hint style="info" %}
The files in the `/vendor` directory might change with future releases.

Therefore, it is highly advised not to make any changes in CSS or JS files present inside the `/vendor` directory. If you want to make any changes such as styling then you should override those CSS in `custom.css` file and put it inside `/custom/css` directory. The same goes for JavaScript code as well, create a custom.js file and put it inside `/custom/js` directory.
{% endhint %}
