Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: create a mission statement docs page #3568

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
interface Role {
role: string;
description: string;
}

interface Stakeholder {
role: string;
}

interface TeamMembers {
name: string;
icon: string;
}

export const stakeholders: Stakeholder[] = [
{
role: 'Management',
},
{
role: 'DevOps Team',
},
{
role: 'Architecture',
},
{
role: 'Project Management',
},
{
role: 'Branding',
},
];

export const roles: Role[] = [
{
role: 'Web & Mobile Developers',
description: 'Utilize the system to build responsive, accessible, and consistent interfaces.',
},
{
role: 'Digital Designers',
description:
'Rely on standardized components to create user-friendly and cohesive experiences.',
},
{
role: 'Digital Product Owners',
description:
'Ensure product development aligns with Swiss Post’s design principles and standards.',
},
];

export const teamMembers: TeamMembers[] = [
{ name: 'Development', icon: '2546' },
{ name: 'Visual Design', icon: '2591' },
{ name: 'User Experience', icon: '2336' },
];
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import { Meta } from '@storybook/blocks';
import * as MissionStatementStories from './mission-statement.stories';
import { roles, stakeholders, teamMembers } from './mission-statement.blocks';
import './mission-statement.styles.scss';

<Meta of={MissionStatementStories} />

# Swiss Post Mission

The Swiss Post Design System enables project teams to create seamless user experiences across all digital touchpoints by providing patterns, guidance and tools.

## Who Uses the Design System?

<ul className="roles-list no-style-list">
{roles.map((role, index) => (
<li key={index} className="role-item list-item">
<strong>{role.role}</strong>
<div className="role-description">{role.description}</div>
</li>
))}
</ul>

### The Design System is well represented and supported by our stakeholders, including:

<ul className="stakeholders-list no-style-list row row-cols-1 row-cols-md-3">
{stakeholders.map((stakeholder, index) => (
<li key={index} className="stakeholder-item list-item centered-item col">
{stakeholder.role}
</li>
))}
</ul>


### Documentation

Entry points to the Design System are public. All documentation is written in English and uses common terminology. The documentation platforms are in sync with implementations and cross-linked. Regular updates ensure that the documentation stays aligned with the latest changes and best practices.

### Core Team

<ul className="team-list no-style-list row">
{teamMembers.map((teamMember, index) => (
<li key={index} className="team-item list-item centered-item col-sm-12 col-md-4 col-lg-3 flex-lg-column">
<post-icon name={teamMember.icon} style={{ fontSize: '3rem' }} className="team-icon"></post-icon>
{teamMember.name}
</li>
))}
</ul>

These contributors are responsible for major implementations and play a central role in shaping the system. To ensure meaningful input, they have allocated time and budget to actively participate in the project, both in Figma and Web development.

### Quality & Compliance

People are using the Design System because it has a low barrier of entry, excellent documentation, is easy to use, and improves the time to market for their product significantly. It fulfills the standards of the Web Content Accessibility Guidelines (WCAG), Level AA.

<div role="alert" class="alert alert-primary">
<p>Onboarding is mandatory for external agencies.</p>
</div>

<p className="quality-text">
The quality of the Design System is being measured by pre-defined KPIs and is constantly improved.
</p>

### Tooling

Design System tooling fosters collaboration between diverse disciplines and encourages contribution. It is built to provide flexibility, allowing teams to choose the platform or framework that best suits their needs.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { MetaExtended } from '@root/types';
import { StoryObj } from '@storybook/web-components';

const meta: MetaExtended = {
id: 'b421ac9b-bac4-4e95-a909-64fdb58fc3a6',
title: 'Getting started/Mission',
parameters: {
badges: [],
},
};

export default meta;

type Story = StoryObj;

export const Default: Story = {};
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
@use '@swisspost/design-system-styles/core.scss' as post;

.no-style-list {
margin: 0;
padding: 0;
list-style: none;
}

.roles-list {
display: grid;
grid-template-rows: repeat(3, 1fr);
justify-content: center;
}

.role-item {
margin-bottom: 1rem;
padding: 1rem;
border: 1px solid #ddd;
border-radius: 6px;
}

.stakeholders-list {
justify-content: center;
align-items: center;
}

.stakeholder-item {
padding: 1rem;
border: 1px solid #dee2e6;
text-align: center;
}

.team-list {
justify-content: center;
margin-bottom: 1rem;
}

.team-item {
display: flex;
justify-content: center;
border: 1px solid #dee2e6;
align-items: center;
padding: 1rem;
gap: 1rem;
font-weight: bold;
}

.alert {
margin-top: 1rem;
}

.quality-text {
margin-top: 1rem;
text-align: left;
}