Coder Social home page Coder Social logo

pokerplanning's Introduction

Pokerplanning

Poker planning is essentially designed to help engineering team to define well define parameters and brain storm on estimation of the task/issue.

What's inside?

The project is structured as a mono-repo, which is managed via nx. All code is written in TypeScript, to guarantee type safety and easy error discovery and safe ways of refactoring, even when the project grows.

The main web framework used is React, we use Material Design where possible. For animation calculation we use Framer Motion.

Setup

Prerequisites

These prerequisites need to be fulfilled before starting development with and for the MapCreator Reboot project:

Node.js & tools

Every sub-project contains a list of npm dependency packages (ie. defined in the package.json of each subfolder in ./packages). And also the corresponding development server (ie. for the "app-mobile") runs via webpack on node.js.

Therefor it is required to install a up-to-date version of Node.js (and NPM) on the local machine to be able to run and build the project.

  • Node.js >= 18.12.0

    Hint: To avoid conflicts with other projects, that might require a different node version, you might want to consider using a tool like nvm.

  • PNPM

Installation / Development

Note: All npm / lerna commands need to be executed in the root folder of the project.

  1. Check that all the general prerequisites listed above are given

  2. Load/install all required node modules

    npm run bootstrap

    Note: All modules are install in /node_modules.

    All sub-projects (ie. all managed projects of the monorepo located in /apps/**) are added as symlinks in /node_modules

  3. Setup the development environment

    To start server

    nx run server:serve

    To start client app

    nx run client:serve
  4. Build and run an application - e.g. client

    There are following options to build and run the app:

    • Run the HMR (Hot Module Reloading) version af the app and launch the app in the web browser

      nx run client:serve

Contributing

For contributions to the project, please check and consider the IMC Code Review checklist and MapCreator Coding guide lines

Guides

Install a new dependency in a package

If a new dependency is required in one of the packages, best practice is to install it by following these steps:

  1. Navigate to the package folder, e.g. cd apps/client.

  2. Run pnpm add <dependency>.

    This adds the depencency to the dedicated package.json file.

  3. Navigate back to the root cd ..

  4. Run the update command: npm run update, which takes care of providing the dependency in the top-level ./node_modules folder.

Help! I have a merge conflict with the pnpm-lock.yaml file...what now?

Possible situations, where a merge conflict with the pnpm-lock.yaml file can occur, are..

  1. when pulling the latest changes, while you have added a new dependency yourself
  2. when merging or rebasing another branch into your current branch (e.g. merging the MASTER into a feature branch)

In case that happens, it's suggested to follow these steps:

  1. Resolve the conflict by accepting the entire pnpm-lock.yaml file from the other branch (the one you are merging from) and omit your local version

  2. Run npm run update

    This does two things:

    • It installs all new dependencies, that you do not yet have.
    • It puts the yarn definitions of the packages you wanted to add again into the pnpm-lock.yaml file.

    After that, you have conflict free version of the pnpm-lock.yaml file.

  3. Finish the merge/rebase and commit your changes as usual.

General commands

Build

Start the app

To start the development server run nx serve client. Open your browser and navigate to http://localhost:4200/. Happy coding!

pokerplanning's People

Contributors

iamravisingh avatar

Watchers

 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.