CCDS Quick Shop is a quick implementation of merchandise store for NTU Students' Computing and Data Science Club. As of writing this README, the live implementation can be found here.
- Customizable Merch and Coupons without Restarting
- Simple Order Item Count Analytics
- Automatic Store Opening and Closure (sale period scheduling)
- Multiple Sale Periods ("seasons" of sales that are logically separate)
- Integration with Stripe for Payment Confirmation
To run this program, you need Go and pnpm.
The development mode can be run by using:
# Run both commands simultaneously.
$ pnpm dev
# In `backend/`:
$ ./dev.shA Dockerfile has also been provided that will create a Docker image that serves both the built frontend and backend.
When starting the Docker image, configuration can be done using the following environment variables:
FRONTEND_URL: URL where the frontend can be accessed, used as base pathGOOGLE_CLIENT_ID: Used for OAuth login of admin interfaceGOOGLE_CLIENT_SECRET: Used for OAuth login of admin interfaceSTRIPE_SECRET_KEY: Secret key used to create orders and update coupons on StripeSTRIPE_WEBHOOK_SECRET: Secret of the Stripe webhook.
Stripe webhook is assumed to be configured to send requests to
/api/v0/checkout/stripe.

