brandingbrand / Flagship
Programming Languages
Projects that are alternatives of or similar to Flagship
A tool for building your best shopping app
Flagship
💻 Check out our Wiki for developer documentation!
About Flagship
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
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.
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
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
- flagship: a toolchain for Android, iOS, and web apps
- fsapp: a management utility for react-native-navigation
- fsweb: a bootstrap package to run Flagship on the web
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
- fscomponents: reusable, cross-platform frontend components
- fscart: components for a cart
- fscategory: components for a category index
- fscheckout: a state machine for managing checkout flow
- fslocator: a configurable point of interest locator
- fsproductdetail: components for product detail pages
- fsproductindex: components for a product index
Utility Packages
- fscodestyle: a coding style used throughout Flagship
Example Projects
- fstestproject: a test project built using Flagship
- pirateship: an example app built using Flagship