Code Monkey home page Code Monkey logo

bookiepro's Introduction

Bookie

Desktop betting exchange application for the PeerPlays blockchain

Commitizen friendly Conventional Commits

Install and Run

Clone this repo and do the following:

// Install commitizen and other npm packages
$ npm run init

// Start the dev server
$ npm start

// Build the app to be packaged with Electron
$ npm run build

The application will be opened as a web app (in a browser instance) and an Electron app.

Technology Stack

  • React
  • Electron (wrapping into desktop app)
  • Redux (single source of truth state management)
  • React-Router (we use this to control navigation)
  • React-Router-Redux (sync React-Router with Redux so we can handle navigation with Redux)
  • Ant-Design (CSS/UI library)
  • Redux dev tools (allow user to debug )
  • ESlint (to ensure code style consistency)
  • Commitlint (to ensure commit message adhere to Conventional Commits)
  • LESS (CSS preprocessor)

Commits

If you have run the init script, you can commit via git cz.
If you have not run the init script, you must commit via npm run commit.
If you do neither, commit message consistency will be difficult for you.

This repository uses a combination of tools to aid in consistent commit messages. The reason we do this is so we can have dynamic changelog creation and smart semantic versioning based on commits (with the ability to override).

The following tools are used:

  1. commitizen
    Used for prompting recommended entries within a commit message to ensure it contains the necessary information.
  2. husky
    By using the hooks from this package we intercept commits being made and verify them with commitlint.
    • Prevent bad commits/pushes.
  3. commitlint

Releases

This repository uses a standard version to aid in version control and release management.

When using standard version to cut a release, there is automated changelog modifitions made based on commit messages.

// If you typically use npm version to cut a new release, do this instead:
npm run release
// To cut a release and bump the version by major, minor, or patch, use the following respectively:
npm run release-major // major bump
npm run release-minor // minor bump
npm run release-patch // patch bump
// To cut a pre-release:
npm run pre-release // v0.2.1 to v0.2.2-rc.0

bookiepro's People

Contributors

allysonmitten avatar andypbsa avatar ianmarquette avatar ii5tl avatar imarquette avatar keegan-lee avatar keeganpbsa avatar mamokin avatar mseaward avatar muffinlightning avatar pbsa-github avatar roshansyed avatar sytong 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.