Thank you for Purchasing



Awrora - Digital Business Website Vue Template

Version 3.1.1


  • Created : 20 March 2024
  • Last Updated : 21 Nov 2024

What is Awrora?


banner

Awrora leverage the power AI, Machine Learning, NFT, Blockchain, and Metaverse Website to deliver dynamic, personalized user experiences. The future is here. The template is designed to empower businesses and creators to embrace the latest technological trends and stay ahead of the curve.

Awrora powered by Vue, Vuetify, Nuxt and Vite We offers an array of possibilities with 24 captivating color schemes, 7 versatile header layouts, and 3 distinctive footer layouts. The Dark and Light mode seamlessly create the perfect ambiance for your audience. Awrora goes beyond borders with RTL support and translation readiness, supporting 6 languages to make your content accessible to a diverse global audience.

What's Inside?
This template Designed for multipurpose industries that contain 8 Homepage Landings and 21 Inner Pages. Those extraordinary things is supported with modular components based on material-ui designs. Awrora is for you to shaping the digital future with web templates that not only meet your needs but also exceed your expectations.

Template Feature


  • 8 Homepage Landings and 21 Inner Pages. Built with one of most popular javascript library Vue, Vuetify, Nuxt and Vite.
  • Various modern design Machine Learning, Blockchain, Crypto Wallet, Trading Bot, NFT, Metaverse Avatar and Online CV
  • Variety of Choices 24 captivating color schemes, 7 versatile header layouts, and 4 distinctive footer layouts.
  • Premium designs. Simple and elegant multi color scheme
  • Dark/Light Mode. Seamlessly transition between light and dark modes to create the perfect ambiance for your audience.
  • RTL Support.Auto RTL adjustment styling @emotion
  • Support multilanguage. Including 6 translation English, Deutsch, Arabic, Chinese, Bahasa Indonesia, Español.
  • Components and UI modules which reusable and easy to modify.
  • Modern Illustration. The most trending design concept, with artwork illustration to increase visitor attractiveness.
  • Next Generation JavaScript written in ES6
  • Responsive design Based on standard 12 Grid System
  • Starter Project. Build app from scratch without without being distracted from innate feature.
  • High Performance. Generate SSR or SSG to optimize SEO and Online Marketing
  • Clean code maintained by eslint.
  • And many more...

Folder Structure


    ├── vue
    |   ├── .eslintrc.js
    |   ├── .gitignore
    |   ├── .npmrc
    |   ├── assets
    │   ├── components
    │   ├── composable
    │   ├── config
    │   ├── error.vue
    │   ├── lang
    │   ├── layouts
    │   ├── nuxt.config.ts
    │   ├── package.json
    │   ├── package-lock.json
    │   ├── pages
    │   ├── plugin
    │   ├── preview.jpg
    │   ├── public
    │   ├── README.md
    │   ├── tsconfig.json
                        

Installation and Running App


To begin installation please follow this guide bellow:

  • Connect to the internet
  • Install NodeJs from NodeJs Official Page
  • Unzip the Awrora file to a folder in your computer
  • Open Terminal
  • Go to your file project (where you've unzipped the product)
  • Go to packages and choose a template. Example awrora/vue/
  • Install Modules
    Install module dependencies by run this script in terminal
    npm install

    If You're system:

    • Mac OS 10.15 Catalina
    • And Doesn't have X Code or Command Line Tools installed
    • And Using Node version 14.xx or greater

    Please install by using yarn. To avoid no-gyp error. See the yarn official site https://classic.yarnpkg.com/en/docs/install

    yarn install
    It will download some necessary dependencies, and just wait until finish.
    process
  • Run App
    After build installation complete, then run the app.
    npm run dev
    The process might take a moment.
    process
    INFO:
    - Just run this script whenever you want start the project.
    - Run npm install again if you have new module dependencies,
  • Then please navigate to http://localhost:8000

Build App


Build project

  • Here'a bellow an example for agency-theme. You can use the same steps to other packages(projects)
  • First you need to build the production assets first
    npm run build
    It usually take longer time than development to generate and compress production code. The generated files will be placed in .nuxt/ process
  • Then start the app
    npm run preview
  • Then navigate to http://localhost:3000
  • Note: In Windows system you need to install win-node-env, because setting NODE_ENV=production before command babel doesn't work on Windows. Here's the packages https://www.npmjs.com/package/win-node-env




Build Static HTML

Run the following commands:

 npm run generate
                        

Now you can see the exported HTML content on a directory called dist/ inside your project. That's a fully functioning static web app. You can deploy it to any static hosting service, and it will work fine. But before we do that, we need to test it out locally. In order to test the app, install the following serve NPM module globally:

npm install -g serve
                        

After you've installed serve, run following commands from /.output/public directory

serve -p 1234
                        

Now you can access your static app in http://localhost:1234. Everything should be working as usual.

Deployment


Deploy to server

  • First you have to clone/copy the project in your hosting/cloud server.
  • If you haven't install the dependencies before, please run npm install
  • Then run npm run build
  • Run app in background process

    To run it in background you may try PM2 pm2.keymetrics.io and https://www.npmjs.com/package/pm2. PM2 is a daemon process manager that will help you manage and keep your application online 24/7

    • Install the pm2 globally
      npm install pm2@latest -g
    • Create ecosystem file
      pm2 ecosystem
      It will generate ecosystem.config.js in your root project
    • Open ecosystem.config.js. Then Change the script target to ./index.js like this:
                                        
      module.exports = {
        apps : [{
          name      : 'awrora-vue',
          port      : '3000',
          exec_mode : 'cluster',
          instances : 'max',
          script    : './.output/server/index.mjs',
          env: {
            NODE_ENV: 'development'
          },
          env_production : {
            NODE_ENV: 'production'
          }
        }],
      
        deploy : {
          production : {
            user : 'node',
            host : '212.83.163.1',
            ref  : 'origin/master',
            repo : 'git@github.com:repo.git',
            path : '/var/www/production',
            'post-deploy' : 'npm install && pm2 reload ecosystem.config.js --env production'
          }
        }
      };                                    
        
                                        
                                      
    • Run the project
      pm2 start ecosystem.config.js --env production
    • Then navigate to http://localhost:3000



Deploy to Vercel

Deploy your website quickly, without having to manually configure DNS, SSL, CDN or hosting. Integrate with your favorite tools, and bring your entire team of developers and designers closer together.

  • Go to your projects, then npm run generate. The static HTML will be generated in dist/ folder
  • Next just run vercel to delploy.
  • Wait until process finish. Once finish you will get live url to access it.

Troublehooting


Here's most common error problem when installation and first setup project

  • When installation and you got error like this :
    
    Could not resolve dependency:
    peer example-peer-package@"^3.2.0" from example-package@3.0.0
    example-package@3.0.0 from the root project
            
  • Try to remove the error package (i.e example-package@3.0.0) from package.json Then install again.
    npm install
    After installation done, try to install the problematic package manually with --legacy-peer-deps options.
    npm install example-package@3.0.0 --legacy-peer-deps
    Example for multiple package
    npm install example-package@3.0.0 other-package@1.0.0 --legacy-peer-deps
  • When you run npm run dev, build, etc, then you got error like this :br />
    
    Error: error:0308010C:digital envelope routines::unsupported
        at new Hash (node:internal/crypto/hash:67:19)
        at Object.createHash (node:crypto:130:10)
            
  • Open terminal and paste these as described:
    1. Linux and macOS (Windows Git Bash)
      export NODE_OPTIONS=--openssl-legacy-provider
    2. Windows command prompt
      set NODE_OPTIONS=--openssl-legacy-provider
    3. Windows PowerShell
      $env:NODE_OPTIONS = "--openssl-legacy-provider"
  • Then try npm run dev or npm run build again
  • if got error node-gyp like this :
    
    No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
    gyp ERR! configure error 
    gyp ERR! stack Error: `gyp` failed with exit code: 1
            

    That because you need to install X Code or Command Line Tools for X Code.

  • You can install X Code from AppStore or from https://developer.apple.com/download/more/

    Or you can install via terminal

    xcode-select --install
  • If you don't want to install X Code at all, you can install by using Yarn to avoid no-gyp error. See the yarn official site https://classic.yarnpkg.com/en/docs/install
    yarn install
  • If you get error messages when start project npm run dev like this
    ERROR in ./app/styles/layout/base.scss (./node_modules/css-loader/dist/cjs.js??ref--8-1!./node_modules/postcss-loader/src??ref--8-2!./node_modules/sass-loader/lib/loader.js??ref--8-3!./app/styles/layout/base.scss)
    Module build failed (from ./node_modules/sass-loader/lib/loader.js):
            
  • It mean the node-sass not installed succesfully. May because connection problem, changed node environment during installation, or blocked node-sass repository
  • Please install node-sass manually by npm install node-sass --save
  • Try to start project again npm start
  • You will get this warning message if not use HTTPS
    A cookie associated with a resource at http://doubleclick.net/ was set with `SameSite=None` but without `Secure`. A future release of Chrome will only deliver cookies marked `SameSite=None` if they are also marked `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5633521622188032.
            
    Here's the guide to setup HTTPS with NuxtJS:


Basic Code Structure


Folder structure

└── awrora
    ├── vue
    |   ├── .eslintrc.js
    |   ├── .gitignore
    |   ├── .npmrc
    |   ├── assets
    │   ├── components
    │   ├── composable
    │   ├── config
    │   ├── error.vue
    │   ├── lang
    │   ├── layouts
    │   ├── nuxt.config.ts
    │   ├── package.json
    │   ├── package-lock.json
    │   ├── pages
    │   ├── plugin
    │   ├── preview.jpg
    │   ├── public
    │   ├── README.md
    │   ├── tsconfig.json                                                                        
                        

Code preview



Landing Page

Landing page structure /pages/index.vue

code

Header

You can put google analytics, font icon, embeded fonts, etc here. /nuxt.config.js

code2

Document body

/app.html

code2


Directory Alias

Name Alias Directory Sample Use
UI Components @/components /components import Header from '@/components/Header'
Images @/assets/images assets/images import imgAPI from '@/assets/images/imgAPI'
Dummy text and link @/assets/text assets/text import brand from '@/static/text/brand'
Component Style Overider @/assets/scss/vendors /assets/scss/vendors import '@/assets/scss/vendors/animate.css'
And any your files @/yourfolder /yourfolder import '@/yourfolder/file';



Template Architecture

This is template architecture in diagram visualization. Click diagram or full screen button full screen to show in new tab with full screen

Starter Project


This source code made for you who want build app from scratch without without being distracted from innate feature. In other word it's an initial(empty) project with built in configuration setup.

  • You can go through to /packages/starter-project/ folder
  • Connect to the internet
  • Open Terminal
  • The next installation process are same like was described above. Installation Step
  • Install module dependencies by run this script in terminal
    npm install
    It will download some necessary dependencies, it could take some minutes, just wait until finish.
  • Run App
    npm run dev

    process
    INFO:
    - Just run this script whenever you want start the project.
    - Run npm install again if you have new module dependencies,
  • Navigate to http://localhost:8000
  • After this you can can start develop your app with this initial project. And will bo more suitable when use other ready-template as a reference

UI and Languages


Follow this guide bellow to modify user interface, branding identity and default language.

Create New Page


  • In example we want to create an "About" page by adding the following content to pages/about.vue
  • 
    <template>
      <div>
        <h2>This is the about page</h2>
      </div>
    </template>
    
    <script>
    import { defineNuxtComponent } from '#app';
    import brand from '@/assets/text/brand'
    
    export default defineNuxtComponent({
      head() {
        return {
          title: brand.starter.name + ' - About Page'
        }
      }
    })
    </script>
    
                                  
  • Then we can access that page with http://localhost:8000/about




Create New Component


  • Go to /components/
  • Create new folder ex: MyComponent. The name must in capitalize
  • Create new vue file inside that folder with same name as folder MyComponent, that is MyComponent.vue. The name must in capitalize
  • Create new js file inside that folder index.js. Then export the vue componet.
    export { default } from './MyComponent'
  • Inside the file create a simple Vue template ex:
    // file: /components/MyComponent/MyComponent.vue
    
    <template>
      <div>
        <h1>Hello World</h1>
      </div>
    </template>
    
    
  • Open a target page where you want use it. Ex: Open /pages/about.vue. (Example page that we've made in previous section)
  • Import component form component folder
    import MyComponent from '@/components/MyComponent'
  • Then register it in components script export default {
    
      components: {
        MyComponent
      }
    }
                                  
  • Then use it inside template
    <template>
      <div>
        <h2>This is the about page</h2>
        <my-component />
      </div>
    </template>
                                
  • Here's complete code
    // file: /page/about.vue
    <template>
      <div>
        <h2>This is the about page</h2>
        <my-component />
      </div>
    </template>
    
    <script>
    import brand from '@/assets/text/brand'
    import MyComponent from '@/components/MyComponent
    import { defineNuxtComponent } from '#app';
    
    export default defineNuxtComponent({
      components: {
        MyComponent
      },
      head() {
        return {
          title: brand.starter.name + ' - About Page'
        }
      }
    });
    </script>
    
  • Then you can check the result at http://localhost:8000/about

Clean Code with Eslint


Eslint is disabled by default. You can enable it to keep your code consistent and avoiding bug.
NOTE: By enable eslint the running app process at beginning will slower.

Just follow this step to enable eslint
  • Go to /nuxt.config.ts
  • Just uncomment this code bellow
    export default defineNuxtConfig({
      vite: {
        plugins: [
          // eslintPlugin(),
        ]
      },
    })
    
  • Then should become like this
    export default defineNuxtConfig({
      vite: {
        plugins: [
          eslintPlugin(),
        ]
      },
    })
    
  • Run the project npm run dev.
    You will be notified with an error message if your code not clean or consistent. ESLint itself is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code, with the goal of making code more consistent and avoiding bugs.
    More about elint https://eslint.org/docs/user-guide/getting-started

External Reference

Here's some external reference of library that we used


Fonts Used




roboto font

Icons Used


Material Font Icons

  • Please make sure Google Material Icons already embeded in nuxt.config.js in head.link:
    If not just embed this inside head tag
    
    head: {
      link: [
        { rel: 'stylesheet', href: 'https://fonts.googleapis.com/icon?family=Material+Icons' }, 
      ]
    }
    
  • Connect to internet
  • Then use it inside Vue templates. Example for use setting icon
    <v-icon>mdi-settings</v-icon>
  • Here's the cheatsheet for Material Icon https://cdn.materialdesignicons.com/4.9.95/
  • You can get icons form quick search here https://materialdesignicons.com/




IonIcons Font

  • Please make sure IonIcons already embeded in components/head.js.
    If not just embed this inside head tag
    <head>
        <link href="http://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css" rel="stylesheet" />
    </head>
  • Connect to internet
  • The sample usage
    
    <span class="ion-ios-world-outline" />  
                              
  • Here's the ionicons cheatsheet https://ionicons.com/v2/cheatsheet.html


  • Sources and Credit


    Fonts :
    Roboto, Robot Condensed, Lato, Open Sans, Montserrat

    Preview Images Used
    Unsplash
    Pixabay
    randomuser.me

    Note: All images are just used for Preview Purpose Only. They are not part of the template and NOT included in the final purchase files.


    Credits
    Name Repository License
    @nuxtjs/vuetify https://www.npmjs.com/package/@nuxtjs/vuetify MIT
    animate.css https://www.npmjs.com/package/animate.css MIT
    babel https://www.npmjs.com/package/Babel None
    eslint https://www.npmjs.com/package/eslint MIT
    express https://github.com/expressjs/express MIT
    node-sass https://www.npmjs.com/package/node-sass MIT
    nuxt https://www.npmjs.com/package/nuxt MIT
    nuxt-gmaps https://www.npmjs.com/package/nuxt-gmaps MIT
    nuxt-i18n https://www.npmjs.com/package/nuxt-i18n MIT
    nuxt-mq https://www.npmjs.com/package/nuxt-mq MIT
    rtl-sass https://www.npmjs.com/package/rtl-sass ISC
    vue-parallaxy https://www.npmjs.com/package/vue-parallaxy MIT
    vue-scrollactive https://www.npmjs.com/package/vue-scrollactive MIT
    vue-slick https://www.npmjs.com/package/vue-slick ISC
    vue-wow https://www.npmjs.com/package/vue-wow MIT
    vue-youtube https://www.npmjs.com/package/vue-youtube MIT
    vuetify https://www.npmjs.com/package/vuetify MIT
    webpack https://github.com/webpack/webpack MIT

    Online Suport


    If you have any questions about customization of this template wich are not covered in the documentation feel free to ask a question in the comment section or contact me directly via e-mail form on my profile page.

    A product by Ilham Meidi Brata



    Change Log

    Version 3.1.1 – 21 Nov, 2024
    Fixed: Theme changes color issue
    Version 3.1.0 – 12 Jun, 2024
    Feature: Create New Layout
    File changes:
    - layouts/*.vue
    - pages/*.vue
    Feature: Client Side Navigation
    File changes:
    - components/Header/*.vue
    - components/Header/TopNav/*.vue
    - components/Header/SideNav/*.vue
    Chore: Destructure props with toRefs
    File changes:
    - components/**/*.vue
    Version 3.0.0 – 20 Mar, 2024
    New Awrora released