Skip to content

petewest/shop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

564 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • Seller and buyer accounts

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

  • Buyer can only buy things

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

  • 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 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

  • 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

  • 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)

  • 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

About

Shop for community groups

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages