Skip to content
🚢 A tool for building your best shopping app
TypeScript CSS JavaScript Ruby Java Objective-C Other
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.storybook
.vscode feat: upgrade react native to 0.57.8 Feb 22, 2019
jest
packages chore(release): publish v8.3.0 Feb 12, 2020
scripts feat: implement react native 0.59 Jul 17, 2019
tsconfig
typedoc-theme feat(pirateship): Enable building of demo web app for docs Aug 7, 2018
.gitignore feat: inital commit Jun 29, 2018
.markdownlint.json
.travis.yml
CHANGELOG.md
CODE_OF_CONDUCT.txt feat: inital commit Jun 29, 2018
CONTRIBUTING.md
LICENSE.txt
README.md Update README.md Nov 7, 2019
babel.config.js feat: upgrade storybook to 4.2.0 and rn-web to 0.11.1 to fix storybook Mar 18, 2019
commitlint.config.js chore: add release conventional commit scope Oct 16, 2018
greenkeeper.json
jest.json
lerna.json
package.json chore: update @types/react-router-dom to version 5.1.2 (#910) Jan 10, 2020
troubleshooting.md feat: inital commit Jun 29, 2018
tsconfig.json
tslint.json feat: inital commit Jun 29, 2018
yarn.lock fix: adds translations for hints Jan 29, 2020

README.md

Flagship

A tool for building your best shopping app

Travis Status Greenkeeper Lerna

Flagship

💻 Check out our Wiki for developer documentation!

About

Flagship accelerates development

Flagship accelerates development of the best omnichannel commerce experiences by providing a library of pre-built components and integrations. That way, you can focus more on innovations that matter.

Flagship helps you to:

  • Build sites and apps in a singular codebase using components based on proven best practices
  • Connect commerce APIs automatically using our API adapters
  • Manage personalized engagement campaigns using the tools you already use or ours

It's written in React Native and developed by Branding Brand.

How It Works

Building with Flagship

Flagship is comprised of a core flagship package and a number of ancillary modules which work together to help you build an ecommerce experience.

You can use modules independently — with or without the flagship core package. For example, fsproductindex displays a product index which you can use as a screen or embed as part of a larger screen. See packages for an exhaustive list of modules.

Flagship core manages the boilerplate Android, iOS, and web code, similar in concept to Expo. For a more detailed exploration of the features of Flagship, see the flagship package.

Flagship foundation architecture diagram

Modules are built using a shared stack of foundation packages which provide a unified interface for networking, analytics, commerce integrations, components, and more across each of our supported platforms. Higher-level modules do not need to implement platform-specific code.

Foundation packages provide a normalization over their integrations. For example, fscommerce provides a single interface to query both Demandware and Shopify. The higher-level fsproductindex module doesn't need to know what the data source is to display a grid of products.

These foundation packages are built on top of one another. For example, fscomponents has props that inherit from fscommerce; fscommerce sends analytics using fsengage; and fsengage talks to the network using fsnetwork.

Foundation

Flagship's foundation is comprised of:

Name Responsibility
fscomponents reusable, cross-platform frontend components
fscommerce product catalog, search, order and user account management, and reviews
fsengage analytics, content management, and A/B testing
fsnetwork networking and caching
fsfoundation baseline types used by other Flagship packages

Platforms

Supported platforms are:

  • android
  • ios
  • native (both iOS and Android)
  • web

Troubleshooting

Troubleshooting Flagship

If you encounter issues while using Flagship, please check out our Troubleshooting guide where you might find the answer to your problem. If you encounter something that is not listed there, try searching for the issue in GitHub.

We want your feedback! Please open a new issue to report a bug or request a new feature.

Need more help? Contact us.

Commands

init

flagship init [platform] [options]

Copies and configures the native project for the given platform. If you don't specify a platform, all platforms will be initialized. See Platforms.

Options

Option Alias Description
--env -e The name of the environment to build. Defaults to prod. See Environments

clean

flagship clean [platform]

Removes build and installation artifacts for the given platform. If you don't specify a platform, build artifacts for all platforms will be removed. See Platforms.

env

flagship env

Generates the environment index file. Use this if you've added a new environment since the last time you ran flagship init. See Environments.

Packages

Foundation Packages

  • fsfoundation: baseline types used by other Flagship packages
  • fsi18n: internationalization and localizaiton
  • fsnetwork: networking and caching

Engagement Packages

  • fsengage: analytics, content management, and A/B testing

Commerce Packages

  • fscommerce: product catalog, search, order and user account management, and reviews

Reviews Packages

Product Catalog Pacakges

Address Validation Packages

  • fsups: UPS address validation provider

User Interface Packages

Utility Packages

Example Projects

You can’t perform that action at this time.