Skip to content

World Food Programme User Interface Kit. Developer kit for implementing WFP web style guideline.

License

Notifications You must be signed in to change notification settings

wfp/designsystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

World Food Programme UI Kit (WFP-UI)

Branch Build Status
master Build Status
v1.5 Build Status

Usage Usage

Installation

Run the following command using npm:

npm install @wfp/ui
npm install @wfp/icons

or yarn:

yarn add @wfp/ui
yarn add @wfp/icons

Dependencies for sass

For v1.19.0 or higher, install sass instead of node-sass

Import a react component

import { Breadcrumb, BreadcrumbItem, BreadcrumbHome } from '@wfp/ui';

Import the CSS

import '@wfp/ui/assets/css/styles.css';

Additional information about the Usage can be found here.

Documentation & list of components available

View available Components here. Usage information is available when you click the blue Show Info icon in the top right corner of the selected component.

About About the WFP UI Guidelines

The new WFP UI Kit is based on the World Food Programme’s Branding Guidance WFP's new branding was launched in early 2018 and will be implemented across the organization, strengthening WFP’s brand image through consistent representation.

Building on this initiative, the World Food Programme’s User Interface Style Guide emphasizes WFP’s commitment to establish and build the brand.

Purpose Purpose

The purpose of this project is to create a unified toolkit that is used by UX-designers and developers alike on their projects to ensure all WFP-branded projects are accessible, appealing, and have a consistent look and feel across the board by following WFP’s design and implementation guidelines.

The guidelines contained in this guide are to be applied to all WFP digital products (such as: websites, web applications, internal systems and other).

By unifiying design elements into reusable components, development will simplify and accelerate the development of these digital products.

The Guide is a living document created to meet the needs of WFP’s front-end developers and designers. If there is a Component or Pattern that you need, or you have any other feedback, question or comment please contact us.

Credits

The UI Kit is based on:

Assets

All the logo files can be found in the UI Assets repository on GitHub.

Logos

Currently the logo is available in

  • Colours: blue, white and black
  • Fileformat: svg, png in different sizes
  • Languages: arabic, english, spanish, french

The Source files can be found in https://github.com/wfp/ui-assets.

Favicons

All the logo files can be found in https://github.com/wfp/ui-assets.

For Designers: Sketch Library

The Sketch App and Adobe xD library can be used to easily create new User interfaces.

The downloads are available here: UI Design Kit on GitHub.

Development

Please refer to the Contribution Guidelines before starting any work. Use the feat/ branches for active development.

Using the server

We recommend the use of React Storybook for developing components.

  1. Generate new tests
npm run test
  1. Start the server:
npm run storybook
  1. Open browser to http://localhost:9000/.
  2. Develop components in the /components folder. Add the export to index.js to include them into the build.
  3. Write stories for your components in /.components with .stories.js or stories.mdx ending.

Commits

Use Conventional Commits for commit messages and pre-commit hooks for commiting.

Make sure your commit does not produce any errors while checking:

  • ESlint
  • jest tests
  • correct commit message

Testing

Use jest for testing the components. Once commited the branches will be also tested on Travis CI.

npm run test

Deployment

The UI Kit uses Azure Devops and semantic-release for automate versioning and CHANGELOG generation.

npm release

  • Commits on the master branch will be released as @lastest if a relevant commit is included (e.g. feat, fix, perf, breaking)
  • Commits on next branch will be released as @next if a relevant commit is included

Generate alpha release

npm run release -- --prerelease alpha
npm publish --tag alpha

or
git push --follow-tags origin next && npm publish --tag alpha

Generate full release

npm run release
npm publish

Releasing Storybook (documentation) to AWS S3

Create a new build for the documentation and copy the assets and docs folder manually to WFP`s AWS S3 instance following the naming scheme (for example: v1.2.1).

npm run build:storybook

Edit the website-redirect-location meta tag of index.html to point wfp.org/UIGuide to the latest documentation folder. This can be done with MountainDuck.

Edit the first line of assets/depreciation-warning.html to point to the latest version of the UI Kit.

Clear the Server cache with Cloudfront Purge Tool.