Awesome Open Source
Awesome Open Source

Flagship

A tool for building your best shopping app

Travis Status Greenkeeper Lerna

Flagship

💻 Check out our Wiki for developer documentation!

About Flagship

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

User Interface Packages

Utility Packages

Example Projects


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
typescript (10,876) 
react-native (1,502) 
react-native-web (44) 
commerce (27) 

Find Open Source By Browsing 7,000 Topics Across 59 Categories

Advertising 📦 10
All Projects
Application Programming Interfaces 📦 124
Applications 📦 192
Artificial Intelligence 📦 78
Blockchain 📦 73
Build Tools 📦 113
Cloud Computing 📦 80
Code Quality 📦 28
Collaboration 📦 32
Command Line Interface 📦 49
Community 📦 83
Companies 📦 60
Compilers 📦 63
Computer Science 📦 80
Configuration Management 📦 42
Content Management 📦 175
Control Flow 📦 213
Data Formats 📦 78
Data Processing 📦 276
Data Storage 📦 135
Economics 📦 64
Frameworks 📦 215
Games 📦 129
Graphics 📦 110
Hardware 📦 152
Integrated Development Environments 📦 49
Learning Resources 📦 166
Legal 📦 29
Libraries 📦 129
Lists Of Projects 📦 22
Machine Learning 📦 347
Mapping 📦 64
Marketing 📦 15
Mathematics 📦 55
Media 📦 239
Messaging 📦 98
Networking 📦 315
Operating Systems 📦 89
Operations 📦 121
Package Managers 📦 55
Programming Languages 📦 245
Runtime Environments 📦 100
Science 📦 42
Security 📦 396
Social Media 📦 27
Software Architecture 📦 72
Software Development 📦 72
Software Performance 📦 58
Software Quality 📦 133
Text Editors 📦 49
Text Processing 📦 136
User Interface 📦 330
User Interface Components 📦 514
Version Control 📦 30
Virtualization 📦 71
Web Browsers 📦 42
Web Servers 📦 26
Web User Interface 📦 210