Coder Social home page Coder Social logo

hub_gem's Introduction

Spree Commerce - Open Source e-commerce platform

Spree Commerce

An open-source eCommerce platform giving you full control and customizability.
Build any eCommerce solution that your business requires.

Slack · Documentation · Website · Demo · Roadmap

Gem Total Downloads Slack members

Getting Started

Visit the Quickstart Guide to set up Spree in 5 minutes.

Enterprise support

Contact us for enterprise support and custom development services. We offer:

  • migrations and upgrades,
  • delivering your Spree application,
  • optimizing your Spree stack.

Enterprise version - Vendo

Besides Enterprise support we also offer an enterprise Spree version called Vendo - which is a commercial offering from the Spree team that gives you all the tools you need to launch your store or marketplace and provides you with ready-to-use integrations that will reduce your project's development time and cost.

To get access to Spree Enterprise (Vendo), contact our Sales team

Features

Customizable and modular

  • pick and choose parts you want to use
  • customize everything else (storefront, order processing, API, etc)
Spree Commerce - Storefront customization

Composable and API-first

Spree Commerce - API   Integrations

Cart and Checkout for any use case

  • advanced cart functionality
  • over 30 payment provider integrations out of the box
  • API to integrate any other payment gateway
  • robust discounts system
  • store credits, gift cards
Spree Commerce - Cart   Checkout Spree Commerce - Payments   Refunds
  • multi-currency
  • multi-language
  • full translation support for products, categories, and more
  • different shipping methods / costs for different regions
  • advanced tax calculation
Spree Commerce - Multi-region   Multi-store Spree Commerce - Multi-region

Multi-Store ready

  • host multiple brands / stores on a single Spree instance
  • each with different branding, configuration, payment methods, shipping options, product catalogs etc
Spree Commerce - Multi-store

Responsive Admin Panel

Manage and curate products, users, orders, returns, shipments & more Spree Commerce - Inventory management

Orders & Post-purchase management

Manage orders, shipments, returns and refunds Spree Commerce - Order   Return management Spree Commerce - Order Fulfillment

Why developers love it

  • Runs anywhere - cloud, VPS, Docker, Kubernetes
  • Battle Tested - used by thousands of merchants around the globe in all categories since 2007!
  • Extensions available adding new features to Spree

What you can build with Spree

Use Spree for any use case. Innovate beyond what's out there.

A headless eCommerce micro-service

Capture orders and payments for whatever you're selling - physical or digital, products or services

Spree Commerce - Composable eCommerce

Run your own marketplace with multiple suppliers, each with a dedicated supplier dashboard Spree Commerce - Marketplace

A high-ticket B2B eCommerce

Start capturing 6+ figure orders from resellers with safe payments and a checkout process that fits your business model Spree Commerce - B2B eCommerce

Wholesale eCommerce

Run your wholesale operation the way your retail partners expect Spree Commerce - Wholesale

A SaaS eCommerce platform

Launch a multi-tenant, multi-store platform for your customers, resellers, affiliates in any configuration, eg. B2B2B, B2B2C, B2B2E

Spree Commerce - Multi-store

Community & Contributing

Spree is an open source project and we love contributions in any form - pull requests, issues, feature ideas!

Follow our Contributing Guide

Join our Slack to meet other community members.

Contact

Contact us and let's go!

Developed by

Spree is developed and maintained by

Vendo

Vendo is an eCommerce platform based on Spree which you can customize to your exact needs (source available). Go global on day 1. DTC x B2B x Marketplace. API-first. One or multiple storefronts.

License

Spree is released under the New BSD License.

hub_gem's People

Contributors

geekoncoffee avatar huoxito avatar iloveitaly avatar jhirbour avatar lbrapid avatar peterberkenbosch avatar radar avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hub_gem's Issues

Could not find generator spree_hub:install.

Hub tab is not visible in spree-2.2-stable, so I installed hub_gem, then got this error. But when I go to Rails console, I have access to Spree::Hub. So I assume I have the gem installed correctly. Any ideas?

Generated JSON Differences

There are some significant differences between the JSON that endpoints (at least, the one endpoint I'm working with) expect and the JSON that's generated by the hub_gem.

In comparing the sample JSON with what's generated through this gem:

  1. The root element is orders and not order and it's an array
  2. Line items product_id in place of sku
  3. id is used in place of number in the order data

Given that the recommended way to setup pushing orders to the hub is:

Spree::Order.after_commit -> { Spree::Hub::OrderSerializer.push_it self }

It would seem more intuitive for the JSON generated to be structured for a single order, not an array of orders. Thoughts?

Better error message for 404s

(I am not sure if this should go here on the hub itself, but whatever)

I'm attempting to connect to the Hub and I'm getting back a 404:

D, [2014-05-05T15:37:11.208364 #10133] DEBUG -- : [httplog] Connecting: push.hubapp.io:443
D, [2014-05-05T15:37:12.084110 #10133] DEBUG -- : [httplog] Sending: POST http://push.hubapp.io:443/
D, [2014-05-05T15:37:12.084217 #10133] DEBUG -- : [httplog] Header: content-type: application/json
D, [2014-05-05T15:37:12.084273 #10133] DEBUG -- : [httplog] Header: x-hub-store: 536707c269702d79b9f90000
D, [2014-05-05T15:37:12.084337 #10133] DEBUG -- : [httplog] Header: x-hub-access-token: b93f6e969355a2a1e18c8528316b51626de78193182154b9
D, [2014-05-05T15:37:12.084399 #10133] DEBUG -- : [httplog] Header: x-hub-timestamp: 1399268231
D, [2014-05-05T15:37:12.084459 #10133] DEBUG -- : [httplog] Header: connection: close
D, [2014-05-05T15:37:12.084550 #10133] DEBUG -- : [httplog] Data: {"products":[{"id":34,"parent_id":null,"name":"Blah","sku":"","description":null,"price":19.0,"cost_price":0.0,"available_on":null,"permalink":"blah-1","meta_description":null,"meta_keywords":null,"shipping_category":"Default","taxons":[],"options":{},"images":[]}]}
D, [2014-05-05T15:37:12.399500 #10133] DEBUG -- : [httplog] Status: 404
D, [2014-05-05T15:37:12.399594 #10133] DEBUG -- : [httplog] Benchmark: 0.314858 seconds
D, [2014-05-05T15:37:12.399666 #10133] DEBUG -- : [httplog] Header: server: nginx/1.1.19
D, [2014-05-05T15:37:12.399719 #10133] DEBUG -- : [httplog] Header: x-rack-cache: invalidate, pass
D, [2014-05-05T15:37:12.399769 #10133] DEBUG -- : [httplog] Header: content-type: text/html; charset=utf-8
D, [2014-05-05T15:37:12.399821 #10133] DEBUG -- : [httplog] Header: date: Mon, 05 May 2014 05:37:12 GMT
D, [2014-05-05T15:37:12.399879 #10133] DEBUG -- : [httplog] Header: status: 404 Not Found
D, [2014-05-05T15:37:12.399923 #10133] DEBUG -- : [httplog] Header: x-request-id: d04777935ba6ab10e329a9b43ba26eea
D, [2014-05-05T15:37:12.399973 #10133] DEBUG -- : [httplog] Header: x-runtime: 0.016861
D, [2014-05-05T15:37:12.400028 #10133] DEBUG -- : [httplog] Header: connection: close
D, [2014-05-05T15:37:12.400081 #10133] DEBUG -- : [httplog] Header: content-length: 728
D, [2014-05-05T15:37:12.400149 #10133] DEBUG -- : [httplog] Response:
<!DOCTYPE html>
<html>
<head>
  <title>The page you were looking for doesn't exist (404)</title>
  <style type="text/css">
    body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
    div.dialog {
      width: 25em;
      padding: 0 4em;
      margin: 4em auto 0 auto;
      border: 1px solid #ccc;
      border-right-color: #999;
      border-bottom-color: #999;
    }
    h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
  </style>
</head>

<body>
  <!-- This file lives in public/404.html -->
  <div class="dialog">
    <h1>The page you were looking for doesn't exist.</h1>
    <p>You may have mistyped the address or the page may have moved.</p>
  </div>
</body>
</html>

I can only see this information because I've installed the httplog gem and have set HttpLog.options[:log_headers] = true in config/initializers/spree.rb. If I didn't have those two things, spree_hub just fails silently. I would rather it didn't :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.