-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Maxim Khailo edited this page Jun 7, 2017
·
26 revisions
Welcome to the FoxCommerce Engineering Wiki. Here you can find information about the overall engineering team, as well as the individual projects. Look below to find your way around.
- The FoxCommerce System Architecture
- Multi Tenancy
- Activity Trail
- Discount Model
- Intelligence
- Inventory
- Product Model
- Production
- Security
It's good to keep in mind that our customers will understand a simplified version of what's actually happening at FoxComm. They will mostly be interacting with the Store Admin to manage their catalog and merchandising, and their design & dev teams will be building their public storefront, most likely based on the Firebird starter theme.
╮
┌───────────────────┐ │
┌─────────────┐ │ Public Storefront │ ├ Frontend
│ Store Admin │ └─────────┬─────────┘ │
└──────┬──────┘ │ ╯
└──────────┬───────────┘
│ ╮
┌────────┴────────────┐ │
│ FoxComm Backend API │ ├ Backend
└─────────────────────┘ │
╯
More detail on what's going on behind the scenes.
╮
┌──────────────────────────────┐ │
┌─────────────────────┐ │ Public Storefront [Firebird] │ ├ Frontend
│ Store Admin [Ashes] │ └──────────────┬───────────────┘ │
└─────────┬───────────┘ │ ╯
└───────────────┬────────────────┘
│
┌──────────┴──────────┐ ╮
│ API Gateway [nginx] │ │
└──────────┬──────────┘ │
│ │
┌────────────┴────────────┐ │
┌──────┴──────┐ ┌────────┴──────────┐ │
│ Phoenix API │ │ ElasticSearch API │ ├ Backend
└──────┬──────┘ └──────────┬────────┘ │
╭──┴─╮ ↑ update indices │
│ │ ┌───────┐ ┌─────┴───────┐ │
│ DB ├────→│ Kafka │────→│ Green River │ │
│ │ └───────┘ └─────────────┘ │
╰────╯ ╯
-
Backend
- phoenix-scala - Our main API that handles the business logic for the customer, merchandising, and order management systems.
- green-river - Kafka consumer to handle indexing search views and activities into Elasticsearch.
- middlewarehouse - A lightweight and fast shipping and inventory management service written in Go.
- isaac - A C++ JWT verification service.
- solomon - A microservice that handles scopes, claims, roles and permissions, written in Elixir.
- hyperion - A microservice that handles communication with marketplaces. Only Amazon is available for now. Written in Elixir.
-
Frontend
-
Infrastructure
- tabernacle - All of our DevOps tools for deploying the application to both development and production.
-
Integrations
-
Other
- developer-portal - Our API documentation in API Blueprint format, continuously deployed to https://developers.foxcommerce.com
- demo - Our demo applications.
- intelligence - Intelligent Commerce Projects. Data Collection Pipeline, analytics, and ML.