Skip to content

Commit f4aee95

Browse files
committed
feat: templates with JIRA User Story & KaTeX (Free)
1 parent 1e219d6 commit f4aee95

11 files changed

Lines changed: 293 additions & 4 deletions

File tree

src/components/TemplatesModal.tsx

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,11 @@ import {
1111
BsDiagram3,
1212
BsCodeSquare,
1313
BsCloud,
14-
BsTools
14+
BsTools,
15+
BsCalculator,
16+
BsPen,
17+
BsStars,
18+
BsFileText
1519
} from "react-icons/bs";
1620
import { useLanguage } from '../i18n/LanguageContext';
1721
import { buildDailyJournalTemplate } from '../templates/dailyJournal';
@@ -26,6 +30,10 @@ import { buildDiagramASCIITemplate } from '../templates/diagramASCII';
2630
import { buildKanbanDiagramTemplate } from '../templates/kanbanDiagram';
2731
import { buildAppDevAwsPostgresTemplate } from '../templates/appDevAwsPostgres';
2832
import { buildDevOpsPatchingTemplate } from '../templates/devOpsPatching';
33+
import { buildKatexExampleTemplate } from '../templates/katexExample';
34+
import { buildJiraDesignStoryTemplate } from '../templates/jiraDesignStory';
35+
import { buildJiraFeatureStoryTemplate } from '../templates/jiraFeatureStory';
36+
import { buildGenericUserStoryTemplate } from '../templates/genericUserStory';
2937
import './templatesModal.css';
3038

3139
type Props = {
@@ -141,6 +149,30 @@ export default function TemplatesModal({ onInsertTemplate, onClose }: Props) {
141149
'templates.devops_patching_desc',
142150
() => buildDevOpsPatchingTemplate()
143151
)}
152+
{renderTile(
153+
<BsCalculator />,
154+
'templates.katex_example',
155+
'templates.katex_example_desc',
156+
() => buildKatexExampleTemplate()
157+
)}
158+
{renderTile(
159+
<BsPen />,
160+
'templates.jira_design_story',
161+
'templates.jira_design_story_desc',
162+
() => buildJiraDesignStoryTemplate(new Date())
163+
)}
164+
{renderTile(
165+
<BsStars />,
166+
'templates.jira_feature_story',
167+
'templates.jira_feature_story_desc',
168+
() => buildJiraFeatureStoryTemplate(new Date())
169+
)}
170+
{renderTile(
171+
<BsFileText />,
172+
'templates.generic_user_story',
173+
'templates.generic_user_story_desc',
174+
() => buildGenericUserStoryTemplate()
175+
)}
144176
</div>
145177
</div>
146178

src/components/templatesModal.css

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.templates-modal {
2-
min-width: 650px;
3-
max-width: 800px;
2+
min-width: 850px;
3+
max-width: 1000px;
44
padding: 16px 20px;
55
height: auto;
66
max-height: 85vh;
@@ -41,7 +41,7 @@
4141

4242
.templates-tiles-grid {
4343
display: grid;
44-
grid-template-columns: repeat(3, 1fr);
44+
grid-template-columns: repeat(4, 1fr);
4545
gap: 10px;
4646
}
4747

src/i18n/locales/de.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,14 @@
523523
"app_dev_aws_postgres_desc": "Projektplan für AWS & Postgres",
524524
"devops_patching": "DevOps Patch-Plan",
525525
"devops_patching_desc": "Patch-Workflow & Kanban",
526+
"katex_example": "KaTeX-Beispiel",
527+
"katex_example_desc": "Beispiele für mathematische Notation",
528+
"jira_design_story": "JIRA-Design-Story",
529+
"jira_design_story_desc": "User Story für Software-Design",
530+
"jira_feature_story": "JIRA-Feature-Story",
531+
"jira_feature_story_desc": "Story für neue Software-Funktion",
532+
"generic_user_story": "Generische User Story",
533+
"generic_user_story_desc": "App-Entwicklung dokumentieren",
526534
"tasks": {
527535
"basic": "Einfache Liste",
528536
"basic_desc": "Markierte/Unmarkierte Elemente",

src/i18n/locales/en.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,14 @@
523523
"app_dev_aws_postgres_desc": "AWS & Postgres Project Plan",
524524
"devops_patching": "DevOps Patching Plan",
525525
"devops_patching_desc": "Patching workflow & Kanban",
526+
"katex_example": "KaTeX Example",
527+
"katex_example_desc": "Mathematical notation examples",
528+
"jira_design_story": "JIRA Design Story",
529+
"jira_design_story_desc": "Software design user story",
530+
"jira_feature_story": "JIRA Feature Story",
531+
"jira_feature_story_desc": "New software feature story",
532+
"generic_user_story": "Generic User Story",
533+
"generic_user_story_desc": "Document app development",
526534
"tasks": {
527535
"basic": "Basic Task List",
528536
"basic_desc": "Simple checked/unchecked items",

src/i18n/locales/nl.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,14 @@
523523
"app_dev_aws_postgres_desc": "Projectplan voor AWS & Postgres",
524524
"devops_patching": "DevOps Patchplan",
525525
"devops_patching_desc": "Patch-workflow & Kanban",
526+
"katex_example": "KaTeX Voorbeeld",
527+
"katex_example_desc": "Voorbeelden van wiskundige notatie",
528+
"jira_design_story": "JIRA Design Story",
529+
"jira_design_story_desc": "User story voor softwareontwerp",
530+
"jira_feature_story": "JIRA Feature Story",
531+
"jira_feature_story_desc": "Nieuwe softwarefunctie story",
532+
"generic_user_story": "Generieke User Story",
533+
"generic_user_story_desc": "App-ontwikkeling documenteren",
526534
"tasks": {
527535
"basic": "Basislijst",
528536
"basic_desc": "Aangevinkte/niet-aangevinkte items",

src/i18n/locales/pl.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,14 @@
523523
"app_dev_aws_postgres_desc": "Plan Projektu AWS i Postgres",
524524
"devops_patching": "Plan Łatania DevOps",
525525
"devops_patching_desc": "Przepływ pracy i Kanban",
526+
"katex_example": "Przykład KaTeX",
527+
"katex_example_desc": "Przykłady notacji matematycznej",
528+
"jira_design_story": "JIRA Design Story",
529+
"jira_design_story_desc": "User story projektowania oprogramowania",
530+
"jira_feature_story": "JIRA Feature Story",
531+
"jira_feature_story_desc": "Story nowej funkcji oprogramowania",
532+
"generic_user_story": "Generic User Story",
533+
"generic_user_story_desc": "Dokumentowanie rozwoju aplikacji",
526534
"tasks": {
527535
"basic": "Lista Podstawowa",
528536
"basic_desc": "Elementy zaznaczone/niezaznaczone",

src/i18n/locales/pt-br.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,14 @@
523523
"app_dev_aws_postgres_desc": "Plano de Projeto AWS & Postgres",
524524
"devops_patching": "Plano de Patch DevOps",
525525
"devops_patching_desc": "Fluxo de patch e Kanban",
526+
"katex_example": "Exemplo KaTeX",
527+
"katex_example_desc": "Exemplos de notação matemática",
528+
"jira_design_story": "Story Design JIRA",
529+
"jira_design_story_desc": "História de design de software",
530+
"jira_feature_story": "Story Funcionalidade JIRA",
531+
"jira_feature_story_desc": "História de nova funcionalidade",
532+
"generic_user_story": "História de Usuário Genérica",
533+
"generic_user_story_desc": "Documentar desenvolvimento",
526534
"tasks": {
527535
"basic": "Lista Básica",
528536
"basic_desc": "Itens marcados/desmarcados",

src/templates/genericUserStory.ts

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
export function buildGenericUserStoryTemplate() {
2+
return `## User Story: [Title]
3+
4+
### Summary
5+
**As a** [type of user],
6+
**I want** [to perform some action],
7+
**so that** [I can achieve some goal/value].
8+
9+
---
10+
11+
### Acceptance Criteria
12+
- [ ] **Scenario 1:** [Given-When-Then]
13+
- [ ] **Scenario 2:** [Given-When-Then]
14+
- [ ] [Requirement 3]
15+
16+
---
17+
18+
### Technical Notes
19+
- **Impacted Areas:** [List of components/services affected]
20+
- **Dependencies:** [Any other stories or external blockers]
21+
- **Data Requirements:** [New fields, API changes]
22+
23+
---
24+
25+
### Implementation Tasks
26+
- [ ] [Task 1]
27+
- [ ] [Task 2]
28+
- [ ] [Final Quality Check]
29+
30+
---
31+
32+
### Design/UI Ref
33+
[Link to design or description of UI changes]
34+
35+
---
36+
37+
### Progress Tracker
38+
- [x] Discovery & Research
39+
- [ ] Design / Prototype
40+
- [ ] Coding
41+
- [ ] Testing
42+
- [ ] Deployment
43+
`;
44+
}

src/templates/jiraDesignStory.ts

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
export function buildJiraDesignStoryTemplate(date = new Date()) {
2+
const dateStr = date.toISOString().split('T')[0];
3+
return `## JIRA-DS: [Project Name] - Software Design Phase
4+
**Status:** DRAFT | **Date:** ${dateStr}
5+
6+
### User Story Title: Design [Component/Feature Name] architecture and UI/UX
7+
8+
---
9+
10+
### 1. Goal & Context
11+
**As a** System Architect / Senior Developer,
12+
**I want to** define the technical architecture and user experience for [Feature Name],
13+
**So that** the development team has a clear, scalable, and approved blueprint to implement.
14+
15+
**Background:**
16+
[Briefly explain why this design is needed and what problem it solves.]
17+
18+
---
19+
20+
### 2. Design Requirements
21+
22+
#### 2.1 Technical Architecture
23+
- [ ] Define data models and schema changes.
24+
- [ ] Specify API endpoints (REST/GraphQL).
25+
- [ ] Identify necessary third-party integrations or microservices.
26+
- [ ] Security considerations (Auth, Encryption, Permissions).
27+
28+
#### 2.2 UI/UX Specifications
29+
- [ ] Design wireframes/mockups for all core states (Loading, Empty, Success, Error).
30+
- [ ] Define user interaction flows.
31+
- [ ] ensure Accessibility (WCAG 2.1) compliance.
32+
33+
---
34+
35+
### 3. Non-Functional Requirements
36+
- **Performance:** Target response time < [X]ms.
37+
- **Scalability:** Must support up to [Y] concurrent users.
38+
- **Maintainability:** Code must follow [Standard] patterns.
39+
40+
---
41+
42+
### 4. Acceptance Criteria
43+
- [ ] Technical Design Document (TDD) completed and reviewed.
44+
- [ ] UI Mockups approved by Product Owner.
45+
- [ ] Data migration strategy defined (if applicable).
46+
- [ ] Development effort estimated (Story Points).
47+
48+
---
49+
50+
### 5. Notes & Diagrams
51+
[Insert Mermaid or UML diagrams here to visualize the design]
52+
53+
\`\`\`mermaid
54+
graph TD
55+
A[User] --> B[Interface]
56+
B --> C[API Layer]
57+
C --> D[Database]
58+
\`\`\`
59+
`;
60+
}

src/templates/jiraFeatureStory.ts

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
export function buildJiraFeatureStoryTemplate(date = new Date()) {
2+
const dateStr = date.toISOString().split('T')[0];
3+
return `## JIRA-FEAT: [Feature Name] Implementation
4+
**Priority:** MEDIUM | **Date:** ${dateStr}
5+
6+
### User Story
7+
**As a** [User Persona],
8+
**I want to** [Action/Capability],
9+
**So that** [Value/Benefit].
10+
11+
---
12+
13+
### 1. Description & Context
14+
[Provide a clear description of the feature and the problem it addresses.]
15+
16+
**Business Value:**
17+
[Why are we building this? Competitive advantage, churn reduction, productivity, etc.]
18+
19+
---
20+
21+
### 2. Functional Requirements
22+
- [ ] Feature capability 1
23+
- [ ] Feature capability 2
24+
- [ ] Edge case handling (e.g. offline mode, invalid input)
25+
26+
---
27+
28+
### 3. Acceptance Criteria
29+
- [ ] GIVEN [Initial State], WHEN [Action], THEN [Expected Result].
30+
- [ ] GIVEN [Another State], WHEN [Another Action], THEN [Another Result].
31+
- [ ] Unit tests cover all core logic.
32+
- [ ] Integration testing completed in STAGE environment.
33+
34+
---
35+
36+
### 4. Technical Tasks
37+
- [ ] Frontend implementation (UI Components).
38+
- [ ] Backend logic & API updates.
39+
- [ ] Database schema updates.
40+
- [ ] Documentation update.
41+
42+
---
43+
44+
### 5. Definition of Done (DoD)
45+
- [ ] Code reviewed by peer.
46+
- [ ] CI/CD pipeline passes.
47+
- [ ] Documentation updated in Confluence/Wiki.
48+
- [ ] Feature flagged (if required).
49+
50+
---
51+
52+
### 6. Attachments & Mockups
53+
[Link to Figma/Mockups or insert screenshots]
54+
55+
`;
56+
}

0 commit comments

Comments
 (0)