A Costco employee portal scraper that gets the days you work and turns them into an ICS subscribe able calendar.
GET /<your ICS_SECRET env variable>
- Clone the project from github
git clone <repo link>
cd <repo name>
- Install dependencies
npm i
-
Fill in the enviroment variables in
example.env
-
Rename
example.env
to.env
-
Build the project and start it
npm run build
npm run start
- You can also run the dev enviroment by running
npm run dev
To run this project, you will need to add the following environment variables to your .env file
ICS_SECRET
Secret which will be used for the URL
ICS_PORT
The port to run the server on
COSTCO_USER
Costco employee username
COSTCO_PASS
Costco employee password
COSTCO_OTC
Costco employee one time code
MONGO_URL
Connection string for the MongoDB database
TZ
Local timezone for the costco
Costco's current calendar system could be faster and more manageable to check. If you'd like to view your schedule, you need to log in 3 times and navigate the poorly designed website, which needs to be optimized for mobile input.
This software allows users to subscribe to the Calendar on their preferred platform (Apple Calendar, Google Calendar, etc.) for seamless access. The software will also store canceled/changed shifts to ensure the user has all information.
While this software is "use at your own risk," it's improbable that Costco will penalize you for using it since it doesn't do anything sketchy. Not only that, but I doubt Costco is monitoring their ancient employee website.
-
Go to your calendar software and look for an action called either "subscribe," "add calendar," or "import calendar."
-
Insert the following URL:
<server ip>:<ICS_PORT env variable>/<ICS_SECRET env variable>
-
You're done.
Make sure you have Git, NodeJS, and NPM installed.