Codebase structure
Within your GitHub customer repository, you'll find the below codebase structure:
<customer>
folder<customer>_<project>
folder(s)paas
folder- files needed for your project
Let's go through what you'll find in each:
<customer>
folder
This is a dedicated directory for all your projects. If you want to share code between your projects (see the sharing code article for more information), you can add it here.
<customer>_<project>
folder(s)
This directory is for a project. If your customer ID is demo
and you have a project called swiss
, this directory would be called demo_swiss
. All your project code (unless you're sharing code between multiple projects) should reside in this directory.
Within this folder, you'll find the following directories (some of them are optional):
<customer>_<project>/
+ bin/ # Executable scripts shipped with the project
+ config/ # Application configuration
+ src/ # Source files
+ php/ # Custom PHP code
+ js/ # Custom JavaScript code
+ tastic/ # This is where you put source code of your Frontastic components
+ scss # Put your SCSS here
+ test/ # Test files
+ php # PHP tests, execute with `ant test` in Frontastic sandbox
+ js # JavaScript tests, execute with `ant test` in Frontastic sandbox
+ ...
+ public/ # Public web folder, maybe containing generated assets
+ templates/ # HTML template files, usually exactly 1
+ build.xml # Build file for local and continuous integration
+ environment # Global configuration (configuration, ...)
+ environment.local # Local configuration overwrites (generated by Ansible)
These directories contain your own code. There are small exceptions of files which are generated by Frontastic (clearly mentioned at the top of the file) and some configuration files (for example, package.json
and yarn.lock
) which require special handling. But besides these, you're basically free to do whatever you want in these directories.
Each of the mentioned directories contains the same source code directory structure under src/
. In your project directories, you can place your source code files there and they'll be picked up by the system:
src/js/
contains all JavaScript codesrc/scss/
holds the SCSS codesrc/layout/
contain static assets that are required by SCSS or JSsrc/php/
is the home to all PHP files
paas
folder
This is where our platform code lives. It's for your personal reference and to give you an insight into updates we're performing in this code. Feel free to browse these directories and get inspiration, but don't change any code here.
Updated about 2 years ago