Giter Club home page Giter Club logo

nau-training-config's Introduction

nau training config

config project with Nau genrators, research ES6 and above

  • Mockup URL: [TBD]
  • Issue tracker URL: [TBD]

GETTING STARTED WITH DEVELOPMENT

  1. Software installation:
    • Sublime Text 3 or Visual Studio Code
    • Nau dotfiles
    • Currently stable Google Chrome
    • NodeJS (for testing, previewing, compiling and optimizing processes)
    • Others:
      • Please list
  2. Setting up development environment
    • Install development dependencies: In terminal, cd to this folder and run: npm install
    • Open the this folder in favorite editor
  3. Preview the app:
    • Execute npm start
  4. Optimize source code and prepare bundle for deployment:
    • Execute npm run build
  5. Prepare upload bundle and upload to server: [TBD]

TECHNICAL SOLUTIONS

[TBD]

  • Minimum browser's supports:
    • Chrome ???
    • Firefox ???
    • Opera ???
    • Internet Explorer ???
    • Android ???
    • Safari ???
    • Blackberry ???

FOLDER STRUCTURE

/                           : git root
├── private                 : (directory for dev assets like editable PSDs, install templates, icons for icon fonts)
└── .                     : main source folder

CONVENTIONS & BEST PRACTICES

General

  • Files are named with kebab-case. (Reasons: to minimize case sensitivity issues on Linux).
    • Exceptions: single class files should be named with PascalCase to link the file with the Class being declared inside.

JavaScript

  • Use Nau JavaScript Code Styles, with below main points:

    • Code indentation by TABs, and fine alignment by SPACEs. (Tab width is up to authors, but 4 is recommended.)
    • Open brackets {, (, [ on the same line.
    • Single quotes ('...') for String literal in js, jsx files.
    • Naming with camcelCase for variables, CAPITALIZED_CASE for enum constants, PascalCase for Class and Singleton.
    • Use spaces frequently to enhance code readability.
    • Comment code at Class level and public methods with JSDoc and wherever logic is unclear.
  • eslint MUST BE USED to validate JavaScript syntax to maintain sanity & clarity of the code.

    Refer to .eslintrc.js for project-wise rules

CSS / SCSS

  • Code styles: follow Nau Front End Code Guide and BEM methodology
    • BEM convention: .block, .block--modifier, .block__element
    • Add prefixes to indicate:
      • js - JS Hook: .js-menu, .js-sidebar
      • u - utility class: .u-hidden, .u-clearfix
  • stylelint MUST BE USED to validate code style and common mistakes
  • Comments: every CSS components, BEM Blocks, wherever intent is unclear
  • OOCSS:
    • NO IDs in CSS
    • Avoid attaching classes to elements (i.e. don’t do div.header or h1.title)
    • Except for utilitily classes, avoid using !important
    • Separate structure and skin: define repeating visual features (like background and border styles) as separate “skins” that you can mix-and-match
    • Separate container and content: rarely use location-dependent styles, an object should look the same no matter where you put it.
  • SCSS file naming:
    • Prefix underscore _ to included .scss files, that are not compiled separately.
    • Don't add _ or .scss in the @import statements
  • Autoprefixer: Don't add browser prefixes by yourself, let the gulp/grunt task autoprefixer do it for you.

###HTML

KNOWLEDGE BASE

[TBC]

nau-training-config's People

Contributors

tqvuong avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.