An ecommerce website designed to distribute snacks to students living in the Porter Dorms.
Report Bug or Request Feature
While not particularly useful anymore, this project is an example of one of the simplest ways to get started with ecommerce. The only money put into this website was to purchase the domain. Hosting and database management are done via Heroku. Unfortunately, after moving out of our dorm I had to shut down this project, as it was no longer feasible to continue running.
- Payments done via a Venmo URL scheme constructor that works on mobile and desktop.
- Aforementioned URL is dynamically converted to a QR code if on desktop.
- Inventory and open status is managed via a Postgres database hosted with Heroku.
- A simple admin panel is available to manage inventory, open status, and confirm payments for orders.
- Once payments are confirmed, the order is marked as complete, and the items are taken from inventory and distributed to the students.
- In addition to the above, orders are also sent to a spreadsheet for tracking and analysis using Google Sheets' API.
I recommend using the Heroku CLI to deploy the website locally, then pushing to the Heroku app. To accomplish this, create a Heroku account and run
git clone https://github.com/Fryles/PorterShop
cd PorterShop
npm install
This will install all dependencies for the project. Next, login and create a new Heroku app.
heroku login
heroku create
To fully deploy the app, you will need to visit the Heroku website and install the postgres addon for this app. Find the newly created database URL and use it to set the DATABASE_URL environment variable with
cat <<EOF >.env
ADMIN_PASS:
ADMIN_USER:
DATABASE_URL:
VENMO:
EOF
vim .env
Finally, run heroku local
to start the app locally.
From here you can visit the website at localhost:5000/adminlogin to login with your credentials and manage the inventory.