https://github.com/wingsum93/dropit-fetcher-kt
https://www.dropit.bm/ for fetch prices
https://github.com/wingsum93/dropit-fetcher-kt
dropit kotlin ktor
Last synced: about 2 months ago
JSON representation
https://www.dropit.bm/ for fetch prices
- Host: GitHub
- URL: https://github.com/wingsum93/dropit-fetcher-kt
- Owner: wingsum93
- Created: 2026-02-03T08:15:52.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2026-02-03T19:46:03.000Z (4 months ago)
- Last Synced: 2026-02-04T05:10:14.293Z (4 months ago)
- Topics: dropit, kotlin, ktor
- Language: Kotlin
- Homepage:
- Size: 92.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Dropit fetcher kt
Dropit fetcher kt is a kotlin fetcher to fetch product prices in https://www.dropit.bm/.
## Project overview
this project is divided into 2 parts:
First part, to fetch the price of diff products and using parser to parse info.
Second part, it save into postgresql db (if connected) or to json files for human evaluvate.
## Tech relate stuff
Dropit is use api.freshop.ncrcloud.com as backend service, which is owned by NCR Voyix Freshop.
We can find the api spec in https://developer.ncrvoyix.com/portals/dev-portal/api-explorer/details/1186/documentation
But in this project, we would only focus on the product list and department list.
## Configuration
You can provide a `.env` file to configure the temp output folder used when saving JSON responses and Postgres connection info.
Example:
```
TEMP_FOLDER=./temp
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=dropit
POSTGRES_USER=dropit_user
POSTGRES_PASSWORD=dropit_password
```
### Environment variables
- `TEMP_FOLDER`: directory where JSON snapshots are written locally.
- `POSTGRES_HOST`: Postgres hostname (required to enable database writes).
- `POSTGRES_PORT`: Postgres port.
- `POSTGRES_DB`: Postgres database name.
- `POSTGRES_USER`: Postgres username.
- `POSTGRES_PASSWORD`: Postgres password.
## Docker
Build the image:
```
docker build -t dropit-fetcher-kt .
```
Run the container (no ports are exposed because this is a CLI job):
```
docker run --rm --env-file .env dropit-fetcher-kt
```
If you prefer, you can mount a local `.env` file into the container instead:
```
docker run --rm -v "$PWD/.env:/app/.env:ro" dropit-fetcher-kt
```