Skip to content

🚒 A tool for building your best shopping app

License

Notifications You must be signed in to change notification settings

mitchmartinbb/flagship

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

32 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Flagship

A tool for building your best shopping app

Travis Status Coverage Status Greenkeeper Lerna

Flagship

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

About

🚒 A tool for building your best shopping app

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 92.9%
  • CSS 3.8%
  • JavaScript 1.3%
  • Java 0.7%
  • Objective-C 0.5%
  • HTML 0.4%
  • Other 0.4%