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 statuspaid
it creates allocations from available stock and decrements stock level
-
Create
GiftCardProduct
s from the Seller menu to list available gift card denominations -
A user buying any
GiftCardProduct
s will generate aGiftCard
and email them a link with a redemption code to pass on to the intended recipient -
If the
Order
only hasGiftCardProduct
s asLineItem
s then the order will automatically progress todispatched
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