Mischa1610 / crossBILLy

THIS REPO IS ARCHIVED, I WILL MOVE EVERYTHING INTO MY MONOREPO: https://github.com/Mischa1610/alekseew. Web- and Cross-Platform-App (Web PWA, Windows, Mac OS X, iOS and Android) for easy bill generation. This project should help to maintain customer data, do the invoicing / billing, ... Used or tryout frameworks / platforms / libraries / techniques: Angular, Ionic Capacitor, (Cordova, Electron), FireBase Hosting and many more... [see Readme].
https://github.com/Mischa1610/alekseew
MIT License
2 stars 0 forks source link
android angular angular-cli angular-material bill capacitor cordova cross-platform customer electron firebase invoice ionic ios lottie macos prettier pwa web-app windows

crossBILLy - Michael Alekseew

@alekseew/crossBILLy

Build Status code style: prettier Conventional Commits Commitizen friendly Greenkeeper badge

This repository contains a Web- and Cross-Platform-App (Web PWA, Windows, Mac OS X, iOS and Android) for easy bill generation. This project should help to maintain customer data, do the invoicing / billing, ...

Used or tryout frameworks, platforms, libraries, plugins, concepts, architectures, techniques, ... are following:

Prerequisites

This project requires the following dependencies to be installed beforehand:

Dependencies

To install all needed dependencies just run:

npm install

This also setup's up the git commit message template (and set the wip package to use commitizen).

GitFlow

Please use the GitFlow branching model and the default names for the branches of SourceTree in this project, more information's can be found here:

Branch names and prefixs naming convention (default setting in SourceTree):

Conventional Changelog / Commits

In this project (angular) conventional commits Angular Commit Message Guidelines are used.

They will be used to auto generate the changelog with the npm package standard-version, to do this just run npm run release. This will do following task:

You can use npm run commit to get a wizard that helps you to write the correct commit messages (this is done with commitizen).

Also the commit messages will be checked that they are correct with commitlint (if you really need to skip it, you can bypass the githooks, but you should not do it normally).

You can generate a git commit message template with npm run prepare-git-commit-template, this will also be done during npm install.

Commit Message Format

The header (consist of type, scope and subject) should not be longer than 72 characters.

type(scope?): subject

body?

footer?

Type

Must be one of the following:

Scope

The scope could be anything specifying place of the commit change. I am using following conventions (examples):

Subject

The subject contains succinct description of the change:

Body

Just as in the subject, use the imperative, present tense: "change" not "changed" nor "changes". The body should include the motivation for the change and contrast this with previous behavior.

Footer

The footer should contain any information about Breaking Changes and is also the place to reference JIRA issues that this commit Closes.

Breaking Changes should start with the word BREAKING CHANGE: with a space or two newlines. The rest of the commit message is then used for this.

Commit Hooks

In this repo git hooks are used (setup with husky) to check for "clean" source code.

Prettier Format Check

If Typescript or SCSS files are changed and pushed a commit hook is triggered and the staged files are formatted with prettier. It does the formating / changes and commits and pushes this changes, with the help of pretty-quick.

Commit Message Linting

Checks if the git commit message is a conventional git commit message, otherwise it will cancel the commit.

Project Version & Release

The last commit on the release branch should set the project version and generate the Changelog, this should be done with npm run release. This set's the project verison, generates the changelog and commits this changes. More information's can be found under the chapter: Conventional Changelog / Commits

Continues Integration & Deployment

On this project Travis CI is setup as lint-, test-, e2e-tests- and build-slave. If everything was tested and build successfully Travis CI will deploy the WebApp to FireBase.