Giter Club home page Giter Club logo

ng-quickstart's Introduction

Ng-quickstart

This is a quickstart Angular project containing my preferred configurations and tools for frontend development, including linting, git hooks, ci/cd and testing frameworks, to be used as a launchpad for different Angular applications.

This project was generated with Angular CLI version 13.3.3.

Built with

  • Main frameworks and languages
    • NodeJS
    • Angular
    • Typescript
  • Git
    • Husky
    • Conventional Commits
    • Commitzen
  • Linting and Code style
    • Prettier
    • Eslint
  • Testing
    • Karma
    • Jasmine
    • Cypress
  • CI/CD
    • Github actions

Getting started

  • Install dependencies with yarn
  • Run the development server with ng serve

Building the project

Run ng build to build the project. The generated artifacts will be in the dist/ directory.


Angular, NodeJS, Typescript and NPM/YARN

As an Angular project, this project is based on NodeJS/Typescript, and uses Yarn as a package manager.

Git and commit style guides

This project uses conventional commits and commitzen to generate consistent commit messages and husky commit-msg hook and commitlint to enforce them.

Code style and linting

This project leverages ES-Lint and Prettier to check and format code into the specified guidelines, and also uses lint-staged and a husky pre-commit hook to enforce linting rules.

Testing

This project also tries to approach software development from a Test-Driven perspective. As such, automated unit, integration and e2e testing is incorporated into the development workflow from the very beginning. Husky pre-push hooks and github CI actions run unit and e2e testing respectively to ensure that all code integrated into the develop and main branches is functioning and covered by automated tests.

Unit testing

The default Angular configuration is Karma running Jasmine tests. A modified karma-ci config file is used for test runs into the git workflow

Integration and e2e testing

A cypress github workflow script is run on all pull-requests into the main and develop branches.

Documentation

This project uses Compodoc to generate documentation automatically from the source code


License

This project is under the MIT License

Contact

ng-quickstart's People

Contributors

chicobaptista avatar

Watchers

James Cloos avatar  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.