Simple website to track and showcase good discounts/offers on groceries from Danish stores such as Rema 100 and COOP.
Live site: https://www.tilbudstracker.dk/
Made by Mikkel Bech @ https://www.bechsolutions.dk/
The project is split into two parts; one for the api
and one for the client
.
The client side of the project is made using Next.js (React) and simply sends requests to the API to show it nicely to the user.
The client side is currently hosted on Vercel.
The API/server side of the project is made using Express.js as the webframework to gather data from the stores. The stores does not have public API's and therefore you would have to reverse engineer their sites in order to add new stores.
The data from the stores are stored in a MongoDB database.
- Clone the project
git clone https://github.com/BE-CH/tilbudstracker
- Run
yarn install
in bothapi
folder andclient
folder. - Setup a MongoDB database.
- Create a .env file in both
api
andclient
folder. See the description below to see what the .env files should contain. - Run
yarn startDev
oryarn startProd
to concurrently run both the client server and the API in either developer mode or production.
The API .env should contain;
NODE_ENV
ALGOLIA_API_KEY_REMA (from Rema endpoints)
ALGOLIA_APP_ID_REMA (from Rema endpoints)
ALGOLIA_API_KEY_FOETEX (from Føtex endpoints)
ALGOLIA_APP_ID_FOETEX (from Føtex endpoints)
CONNECTION_STRING (MongoDB)
The CLIENT .env should contain;
NEXT_PUBLIC_API_URL (URL to API - can be set to localhost when testing)
NODE_ENV