Coder Social home page Coder Social logo

kumojin / extreme-carpaccio Goto Github PK

View Code? Open in Web Editor NEW
0.0 6.0 0.0 8.9 MB

Fork of the extreme carpaccio kata, updated to use more recent libraries and fix some bugs

Home Page: https://kumojin.com

License: BSD 3-Clause "New" or "Revised" License

Dockerfile 0.72% C# 11.98% Shell 1.10% Clojure 1.62% D 1.40% Erlang 4.01% Batchfile 0.17% F# 2.05% Procfile 0.01% Go 1.07% Groovy 1.29% Haskell 1.65% Java 25.22% JavaScript 9.07% Kotlin 4.34% PHP 20.63% Makefile 1.45% Gherkin 0.55% Python 9.64% Racket 2.01%
kata nodejs typescript coding-game game

extreme-carpaccio's Introduction

Extreme Carpaccio

CI

This is a fork from dlresende/extreme-carpaccio.

French version here.

Extreme Carpaccio is a coding game designed to encourage and favour incremental development and Continuous Delivery best practices.

During a Extreme Carpaccio session, the facilitator uses his/her computer as a server and sends HTTP requests to participant machines (generally organised in teams). Each request is a purchasing order, like those you have when you buy something somewhere. Participants then calculate the order's total amount and send the correct response back to the server. For every correct response, the participant earns points and increases his/her score. For bad responses, penalties are charged and the participant loses points. Participants should slice (or decouple) the problem in order to deploy small chunks of the solution into production as soon as possible and then score before others. This is the purpose of this exercise: define a slicing strategy, implement, deploy, check feedback, adapt the strategy, implement, deploy... and iterate as fast as possible. Those who don't slice and try go to production only once the whole solution is implemented risk to spend too much time before scoring, leaving the way free to other teams win.

This workshop, kata, or coding game is intented to help teams to practice concepts like Continuous Delivery, Lean Startup, eXtreme Programming, Agile Development, and more.

Ready for the challenge?

If you are a participant, go to clients/ to get more instructions and start playing.

If you are a facilitator, go to server/ and find out how to facilitate a session.

Have fun :D

People running Extreme Carpaccio

  • Find out what people are saying about Extreme Carpaccio on Twitter

extreme-carpaccio's People

Contributors

aldocd4 avatar annemano avatar arnauld avatar bchiquet avatar bernardnotarianni avatar cedricrup avatar chaabani-anis avatar dependabot-preview[bot] avatar dependabot[bot] avatar dijonkitchen avatar dlresende avatar edouard-gv avatar essic avatar floby avatar frawa avatar gphilipp avatar jja-octo avatar jutkko avatar lukaszkokot avatar mdulac avatar mmetesreau avatar poenneby avatar radwane-h avatar renovate[bot] avatar rhwy avatar seblm avatar syl20b avatar vador avatar xballoy avatar xereda avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

extreme-carpaccio's Issues

Server should be able to pick the reduction from a list

Currently in the configuration file we can put only one type of reduction at the time (see reduction configuration). We should be able to use an array of reductions.

Definition of done

  • Replace the "reduction" field by an array in the configuration file
  • If the picked reduction is not known we fallback to "STANDARD" (current behaviour) to prevent crash from typo in the config file.
  • Add tests

To be discussed

  • Do we randomly pick a reduction or we can weight them?

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Awaiting Schedule

These updates are awaiting their schedule. Click on a checkbox to get an update now.

  • ci(deps): lock file maintenance

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/ci.yml
  • actions/checkout v4@692973e3d937129bcbf40652eb9f2f61becf3332
  • actions/setup-node v4@1e60f620b9541d16bece96c5465dc8ee9832be0b
npm
server/apps/backend/package.json
  • @types/big.js 6.2.2
  • @types/body-parser 1.19.5
  • @types/express 4.17.21
  • @types/lodash 4.17.7
  • argon2 0.40.3
  • big.js 6.2.1
  • body-parser 1.20.2
  • colors 1.4.0
  • cross-env 7.0.3
  • dotenv 16.4.5
  • express 4.19.2
  • http-status-codes 2.3.0
  • joi 17.13.3
  • lodash 4.17.21
  • sqlite 5.1.1
  • sqlite3 5.1.7
  • winston 3.14.2
  • @swc/core 1.7.11
  • @tsconfig/node20 20.1.4
  • @types/node 20.14.15
  • @types/supertest 6.0.2
  • bower 1.8.14
  • node-mocks-http 1.15.1
  • supertest 7.0.0
  • tsup 8.2.4
  • typescript 5.5.4
  • vitest 1.6.0
server/apps/frontend/package.json
  • @formatjs/intl-numberformat 8.10.3
  • @tanstack/react-query 5.51.23
  • @types/node 20.14.15
  • @types/react 18.3.3
  • @types/react-dom 18.3.0
  • bootstrap 5.3.3
  • chart.js 4.4.3
  • react 18.3.1
  • react-bootstrap 2.10.4
  • react-chartjs-2 5.2.0
  • react-dom 18.3.1
  • @types/react 18.3.3
  • @types/react-dom 18.3.0
  • @vitejs/plugin-react 4.3.1
  • typescript 5.5.4
  • vite 5.4.0
server/package.json
  • @biomejs/biome 1.8.3
  • rimraf 5.0.10
  • turbo 2.0.14
  • npm 10.8.2
nvm
server/.nvmrc
  • node 20
regex
server/biome.json
  • @biomejs/biome 1.8.3

  • Check this box to trigger a request for Renovate to run again on this repository

Rewrite the server frontend using a modern stack

Currently the server frontend is using React 0.12 and jQuery. This a working but the stack is outdated and it is not easy to add new features in the UI.

Definition of done

  • Use the latest version of React for the server UI
  • Add tests to prevent any regression

Suggestion

  • Use Turborepo for a clean monorepo with a backend app and a frontend app (#5)

Server doesn't send request to clients using https

If a client register with an https schema the server fails to send request to it.

This is probably due to the fact that we use node:http in every case when we should use node:https when the client is using https.

Backup current state of the game

Add a backup of the game to allow to restart it at a specific state. This can be useful if the server crash or the laptop shutdown (battery issue for example).

Definition of done

  • The server can start without a backup
  • If a backup is present it will load it as an initial state
  • Add tests on both cases
  • The backup must not be commited in the repository

Suggestions

To save the state you could use SQLite or a JSON file.

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.