init 5S article and refacto pull system

This commit is contained in:
Julien Calixte
2024-12-22 18:31:31 +01:00
parent 9bf151698f
commit 400566b849
32 changed files with 129 additions and 42 deletions

41
5s.css Normal file
View File

@@ -0,0 +1,41 @@
:root {
--color: var(--primary-color);
}
*:not(td):not(th) {
border-radius: 0.5rem;
}
body {
font-size: 28px;
font-family: 'Noto Serif', serif;
margin: 0;
}
header {
text-align: center;
color: var(--primary-color);
}
main {
display: flex;
flex-direction: column;
justify-content: center;
gap: 0;
margin: 1rem 1rem 0;
color: var(--color);
}
.meaning {
color: #9f9a9a;
font-weight: 100;
font-size: 1rem;
}
.meaning::before {
content: '(';
}
.meaning::after {
content: ')';
}

27
5s.html Normal file
View File

@@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Interactive 5S</title>
<meta
name="description"
content="Author: Julien Calixte,
My understanding of how a 5S can help team."
/>
<link rel="stylesheet" href="core.css" />
<link rel="stylesheet" href="5s.css" />
<link rel="icon" href="people-improvement.svg" />
<link rel="mask-icon" href="people-improvement.svg" color="#ffffff" />
</head>
<body>
<noscript>
<strong
>We're sorry but this app doesn't work properly without JavaScript
enabled. Please enable it to continue.</strong
>
</noscript>
<div id="app"></div>
<script type="module" src="/src/main-5s.ts"></script>
</body>
</html>

View File

@@ -111,7 +111,9 @@
</section> </section>
<section class="stability"> <section class="stability">
<ul class="stability-list focusable"> <ul class="stability-list focusable">
<li class="s5s focusable">5S</li> <li class="s5s focusable">
<a href="/5s.html">5S</a>
</li>
<li class="problem-solving focusable">Problem solving</li> <li class="problem-solving focusable">Problem solving</li>
<li class="tpm focusable">TPM</li> <li class="tpm focusable">TPM</li>
</ul> </ul>

View File

@@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import FlowArticle from '@/modules/FlowArticle.vue' import FlowArticle from '@/modules/pull-system/FlowArticle.vue'
import { StarportCarrier } from 'vue-starport' import { StarportCarrier } from 'vue-starport'
</script> </script>

11
src/App5S.vue Normal file
View File

@@ -0,0 +1,11 @@
<script setup lang="ts"></script>
<template>
<main id="main-app">5S!!!</main>
</template>
<style scoped lang="scss">
main {
min-height: calc(100vh - 2 * 1rem);
}
</style>

5
src/main-5s.ts Normal file
View File

@@ -0,0 +1,5 @@
import { createPinia } from 'pinia'
import { createApp } from 'vue'
import App from './App5S.vue'
createApp(App).use(createPinia()).mount('#app')

View File

@@ -1,15 +1,15 @@
<script setup lang="ts"> <script setup lang="ts">
import SeparatorIcon from '@/icons/SeparatorIcon.vue' import SeparatorIcon from '@/icons/SeparatorIcon.vue'
import FlowConclusion from '@/modules/article/FlowConclusion.vue' import FlowConclusion from '@/modules/pull-system/article/FlowConclusion.vue'
import FlowHypothesis from '@/modules/article/FlowHypothesis.vue' import FlowHypothesis from '@/modules/pull-system/article/FlowHypothesis.vue'
import FlowIntro from '@/modules/article/FlowIntro.vue' import FlowIntro from '@/modules/pull-system/article/FlowIntro.vue'
import FlowMultipleSimulation from '@/modules/article/FlowMultipleSimulation.vue' import FlowMultipleSimulation from '@/modules/pull-system/article/FlowMultipleSimulation.vue'
import FlowSetup from '@/modules/article/FlowSetup.vue' import FlowSetup from '@/modules/pull-system/article/FlowSetup.vue'
import FlowSingleSimulation from '@/modules/article/FlowSingleSimulation.vue' import FlowSingleSimulation from '@/modules/pull-system/article/FlowSingleSimulation.vue'
import FeatureSteps from '@/modules/feature/FeatureSteps.vue' import FeatureSteps from '@/modules/pull-system/feature/FeatureSteps.vue'
import FlowDashboard from '@/modules/feature/FlowDashboard.vue' import FlowDashboard from '@/modules/pull-system/feature/FlowDashboard.vue'
import SimulationControls from '@/modules/simulation/SimulationControls.vue' import SimulationControls from '@/modules/pull-system/simulation/SimulationControls.vue'
import SimulationDashboard from '@/modules/simulation/SimulationDashboard.vue' import SimulationDashboard from '@/modules/pull-system/simulation/SimulationDashboard.vue'
</script> </script>
<template> <template>

View File

@@ -2,10 +2,10 @@
import ProblemSolvingIcon from '@/icons/ProblemSolvingIcon.vue' import ProblemSolvingIcon from '@/icons/ProblemSolvingIcon.vue'
import PullSystemIcon from '@/icons/PullSystemIcon.vue' import PullSystemIcon from '@/icons/PullSystemIcon.vue'
import PushSystemIcon from '@/icons/PushSystemIcon.vue' import PushSystemIcon from '@/icons/PushSystemIcon.vue'
import FeatureItem from '@/modules/feature/FeatureItem.vue' import FeatureItem from '@/modules/pull-system/feature/FeatureItem.vue'
import FlowControls from '@/modules/feature/FlowControls.vue' import FlowControls from '@/modules/pull-system/feature/FlowControls.vue'
import QualityIssue from '@/modules/feature/QualityIssue.vue' import QualityIssue from '@/modules/pull-system/feature/QualityIssue.vue'
import { Feature } from '@/modules/feature/feature' import { Feature } from '@/modules/pull-system/feature/feature'
const feature: Feature = { const feature: Feature = {
name: 'As a user, in the homepage, I can login', name: 'As a user, in the homepage, I can login',

View File

@@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import QualityIssue from '@/modules/feature/QualityIssue.vue' import QualityIssue from '@/modules/pull-system/feature/QualityIssue.vue'
import { Feature } from '@/modules/feature/feature' import { Feature } from '@/modules/pull-system/feature/feature'
import { computed } from 'vue' import { computed } from 'vue'
const props = withDefaults( const props = withDefaults(

View File

@@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import FeatureItem from '@/modules/feature/FeatureItem.vue' import FeatureItem from '@/modules/pull-system/feature/FeatureItem.vue'
import { Feature } from '@/modules/feature/feature' import { Feature } from '@/modules/pull-system/feature/feature'
import { FeatureStep } from '@/modules/feature/feature-steps' import { FeatureStep } from '@/modules/pull-system/feature/feature-steps'
import { useElementSize } from '@vueuse/core' import { useElementSize } from '@vueuse/core'
import { computed, ref } from 'vue' import { computed, ref } from 'vue'
import { Starport } from 'vue-starport' import { Starport } from 'vue-starport'

View File

@@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import FeatureStep from '@/modules/feature/FeatureStep.vue' import FeatureStep from '@/modules/pull-system/feature/FeatureStep.vue'
import { featureSteps } from '@/modules/feature/feature-steps' import { featureSteps } from '@/modules/pull-system/feature/feature-steps'
import { useFeatureStore } from '@/modules/feature/feature-store' import { useFeatureStore } from '@/modules/pull-system/feature/feature-store'
import { onMounted } from 'vue' import { onMounted } from 'vue'
const NUMBER_OF_FEATURES = 20 const NUMBER_OF_FEATURES = 20

View File

@@ -3,7 +3,7 @@ import EraserIcon from '@/icons/EraserIcon.vue'
import ProblemSolvingIcon from '@/icons/ProblemSolvingIcon.vue' import ProblemSolvingIcon from '@/icons/ProblemSolvingIcon.vue'
import PullSystemIcon from '@/icons/PullSystemIcon.vue' import PullSystemIcon from '@/icons/PullSystemIcon.vue'
import PushSystemIcon from '@/icons/PushSystemIcon.vue' import PushSystemIcon from '@/icons/PushSystemIcon.vue'
import { useFeatureStore } from '@/modules/feature/feature-store' import { useFeatureStore } from '@/modules/pull-system/feature/feature-store'
const NUMBER_OF_FEATURES = 20 const NUMBER_OF_FEATURES = 20

View File

@@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import SeparatorIcon from '@/icons/SeparatorIcon.vue' import SeparatorIcon from '@/icons/SeparatorIcon.vue'
import FlowControls from '@/modules/feature/FlowControls.vue' import FlowControls from '@/modules/pull-system/feature/FlowControls.vue'
import { useFeatureStore } from '@/modules/feature/feature-store' import { useFeatureStore } from '@/modules/pull-system/feature/feature-store'
const featureStore = useFeatureStore() const featureStore = useFeatureStore()
</script> </script>

View File

@@ -1,6 +1,6 @@
import { Feature, FeatureStatus } from '@/modules/feature/feature' import { Feature, FeatureStatus } from '@/modules/pull-system/feature/feature'
import { FeatureStep } from '@/modules/feature/feature-steps' import { FeatureStep } from '@/modules/pull-system/feature/feature-steps'
import { features as initialFeatures } from '@/modules/feature/feature.fixture' import { features as initialFeatures } from '@/modules/pull-system/feature/feature.fixture'
import { Strategy } from '@/modules/lean/strategy' import { Strategy } from '@/modules/lean/strategy'
import { FeatureState } from '@/store-type' import { FeatureState } from '@/store-type'
import { import {

View File

@@ -1,4 +1,4 @@
import { Feature } from '@/modules/feature/feature' import { Feature } from '@/modules/pull-system/feature/feature'
import { import {
getMeanComplexity, getMeanComplexity,
getMeanLeadTime, getMeanLeadTime,
@@ -8,8 +8,8 @@ import {
isProjectFinished, isProjectFinished,
newBacklog, newBacklog,
nextDay nextDay
} from '@/modules/feature/feature-board' } from '@/modules/pull-system/feature/feature-board'
import { featureSteps } from '@/modules/feature/feature-steps' import { featureSteps } from '@/modules/pull-system/feature/feature-steps'
import { Strategy } from '@/modules/lean/strategy' import { Strategy } from '@/modules/lean/strategy'
import { FeatureState, Meta } from '@/store-type' import { FeatureState, Meta } from '@/store-type'
import { defineStore } from 'pinia' import { defineStore } from 'pinia'

View File

@@ -1,5 +1,5 @@
import { birds } from '@/data/bird' import { birds } from '@/data/bird'
import { Feature } from '@/modules/feature/feature' import { Feature } from '@/modules/pull-system/feature/feature'
import { randomInteger } from '@/utils' import { randomInteger } from '@/utils'
export const features: Feature[] = birds.map((name) => ({ export const features: Feature[] = birds.map((name) => ({

View File

@@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { useSimulationStore } from '@/modules/simulation/simulation-store' import { useSimulationStore } from '@/modules/pull-system/simulation/simulation-store'
import { popNElement } from '@/utils' import { popNElement } from '@/utils'
import chartXkcd from 'chart.xkcd' import chartXkcd from 'chart.xkcd'
import { onMounted, ref, watch } from 'vue' import { onMounted, ref, watch } from 'vue'

View File

@@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { Strategy } from '@/modules/lean/strategy' import { Strategy } from '@/modules/lean/strategy'
import { useSimulationStore } from '@/modules/simulation/simulation-store' import { useSimulationStore } from '@/modules/pull-system/simulation/simulation-store'
defineProps<{ defineProps<{
type: 'single' | 'multiple' type: 'single' | 'multiple'

View File

@@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { Strategy } from '@/modules/lean/strategy' import { Strategy } from '@/modules/lean/strategy'
import { useSimulationStore } from '@/modules/simulation/simulation-store' import { useSimulationStore } from '@/modules/pull-system/simulation/simulation-store'
const simulationStore = useSimulationStore() const simulationStore = useSimulationStore()

View File

@@ -1,4 +1,4 @@
import { featureSteps } from '@/modules/feature/feature-steps' import { featureSteps } from '@/modules/pull-system/feature/feature-steps'
import { Strategy } from '@/modules/lean/strategy' import { Strategy } from '@/modules/lean/strategy'
import { Dashboard, Meta } from '@/store-type' import { Dashboard, Meta } from '@/store-type'
import { getRound } from '@/utils' import { getRound } from '@/utils'

View File

@@ -1,5 +1,5 @@
import { Feature } from '@/modules/feature/feature' import { Feature } from '@/modules/pull-system/feature/feature'
import { FeatureStep } from '@/modules/feature/feature-steps' import { FeatureStep } from '@/modules/pull-system/feature/feature-steps'
import { Strategy } from '@/modules/lean/strategy' import { Strategy } from '@/modules/lean/strategy'
export type Meta = { export type Meta = {

View File

@@ -9,7 +9,8 @@ export default defineConfig({
rollupOptions: { rollupOptions: {
input: { input: {
index: 'index.html', index: 'index.html',
'pull-system': 'pull-system.html' 'pull-system': 'pull-system.html',
'5s': '5s.html'
} }
} }
}, },
@@ -20,6 +21,6 @@ export default defineConfig({
} }
}, },
worker: { worker: {
plugins: [comlink()] plugins: () => [comlink()]
} }
}) })