GithubHelp home page GithubHelp logo

shop's Introduction

README

Basic shopping website with stock control. Uses Amazon Web Services S3 for image uploads.

Features

User

  • Seller and buyer accounts

  • Seller can list items, view orders, create stock, etc

  • Buyer can only buy things

Orders

  • Orders start in cart status and have a set of allowed flows

Products

  • Create Products to sell from the Seller menu

  • Nestable sub-products (for sizes, etc)

  • Multiple images per product

  • For sale? flag to say if the product should be listed

Stock levels

  • Stock levels for each product (and sub product)

  • Stock levels have a “due date” and “expiry date”, as well as a pre-orderable flag

  • When an Order changes to status paid it creates allocations from available stock and decrements stock level

Gift cards

  • Create GiftCardProducts from the Seller menu to list available gift card denominations

  • A user buying any GiftCardProducts will generate a GiftCard and email them a link with a redemption code to pass on to the intended recipient

  • If the Order only has GiftCardProducts as LineItems then the order will automatically progress to dispatched status when the email has been sent

Installation

  • Deploy code to Heroku (or your server of choice)

  • Run rake db:seed to populate database with basic static data

  • Configure your Amazon S3 bucket and set up the environment variables required

  • Configure your Stripe account and set up the environment variables required

  • Add sendgrid to your Heroku deployment

  • Set any other remaining environment variables (below)

Environment variables to set

  • AWS_ACCESS_KEY_ID to be your Amazon Web Services access key

  • AWS_SECRET_ACCESS_KEY to be your Amazon Web Services secret access key

  • S3_BUCKET_NAME to the name of your AWS S3 bucket for images

  • S3_ENDPOINT the endpoint you need to use to connect to Amazon S3

  • BASE_URI to be the hostname to be used for urls in emails

  • STRIPE_PUBLISHABLE_KEY to be your publishable key from your Stripe account

  • STRIPE_SECRET_KEY to be your secret key from your Stripe account

  • FROM_EMAIL the email address your notifications will come from

shop's People

Contributors

petewest avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

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.