Happenn
  • Introduction
  • System Architect
  • For Dev
    • AWS
      • Domain & CNAME
      • Rescale Instance
      • Request AWS Certificate
      • Generate Certificate with Certbot
      • S3
      • SSH & FTP
      • Auto Scaling
      • RDS MySQL
    • Digital Ocean
      • Virtual Host & Certificate
      • SSH & FTP
    • Server
      • Git
      • Setup the Server
    • Code
      • Laravel/Lumen
      • Vue.js
      • Webpack
      • JavaScript Library
        • Lodash
        • axios
        • Moment.js
      • Code Style Guide
      • Useful Tools
    • HAM Admin
      • Install locally
      • Deploy
    • Happenn API
      • Install locally
      • Install DB locally
      • Make DB changes
    • Happenn IO
      • Install locally
    • Happenn Virtual
      • Install locally
      • Folders and file structure
      • Deploy code
        • Happenn AWS
        • Delegia AWS
    • Happenn Event app
      • Deploy
      • Install locally
Powered by GitBook
On this page
  • To start
  • For pathing:
  • Google Analytics
  1. For Dev
  2. Happenn Virtual

Folders and file structure

Important files to know about

For the overall project, you could ignore the Controllers of Laravel. There are also constant variable you could use which you can check from app\Http\Middleware\InitProject.php

  • S3 ( will handle the project path for S3 as well)

  • BASE_URL (use this intead of base_url() of laravel as this one also handle for different domain)

For start, you could create a new project in HAM if you want (but please change the customer to Demo). Project settings / project-path decides the naming in the code.

To start

  • Create a folder with the same name as project path of the project at resources\views\projects

  • Create a layout.blade.php

    • Most of the time, this is a required file you will need as the file will...well..act as an overall layout so, something like header and footer will got inherited to other page

  • There is also a resources\views\components\nav.blade.php to generate the menu

    • However in delegia-wppac, it uses its own nav component

  • You can check any layout.blade.php from any project I think mostly it will be the same. There are some that look different and some that include Google Analytics or others scipt

  • You can check all the @include and @push you could do from resources\views\layouts\default.blade.php

  • Also, push 'body-class' will required to end its string with space. as it will literally add class as it is.

For pathing:

  • You can create any path you want via file name and folder

  • Example:

    • resources\views\projects\delegia-wppac\about-us.blade.php

      • This will create /about-us for delegia-wppac project

  • resources\views\projects\delegia-wppac\index.blade.php

    • This will overwrite index page with this file

  • resources\views\projects\thailand-health-expo-2021\register\index.blade.php

    • This will overwrite /register page and using this file instead (of cause, you can just create register.blade.php)

  • While the file is in sub folder of the project, it will gain access to a bit more stuffs

  • resources\views\projects\fda-2021\abstract-submission\index.blade.php

    • Same as above, /abstract-submission

    • However, this will also create /abstract-submission/{id} as well.

    • So /abstract-submission/1234 will also access the this file

    • While access it this way, it will gain access to $id (the 1234) of the url

  • For more info you can check on routes and resources\views\stream for default page

Google Analytics

  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=XXX"></script>
  <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());

    gtag('config', 'XXX');
  </script>

Is located in each project under /projects/.../layout.blade.php.

PreviousInstall locallyNextDeploy code

Last updated 3 years ago