Unofficial, not affiliated with Finn.no, Schibsted or Polaris Media.
Finndiff itself is in Norwegian, I'll keep this documentation in English.
Finndiff aims to do two things: Reduce the number of spam calls from realtors, and let you see how a apartment listing evolves over time.
Whenever you "heart" an apartment listing the realtor that posted it gets your contact information, they might use this information to contact you unsolicited. If you use Finndiff to keep track of the listings you are interested in, no one will know.
Apartment listings change over time, but on the the live listing only contains the most recent edit. Finndiff stores diffs to let you keep track of price changes, or any other edit to the listing.
Caveat: It only starts tracking when you add the listing to Finndiff.
This project has two modules, api
and web
, with backend and frontend respectively. For development you can run them both at the same time from the root folder.
npm i
(installs dependencies for both modules)npm run dev
This starts the api with nodemon, and the development build of the web project. The web project is proxied through CRA's proxy functionality. Meaning that you should browse the application through localhost:3000
and use graphiql through localhost:4000/api/graphql
. This is not true for the production build, where the api module statically serves the web build.
npm run dev-api
npm run dev-web
- From root:
npm run tag
- lerna creates a commit, push the commit and the tag with
git push --follow-tags
This project has been configured to be deployed to now.sh.
- A now.sh account
- now.sh cli installed
- A mongodb database and its connection string
- (Optional) For authentication, an auth0 account.
Run from the root folder
now --public -e MONGO_URL=<url-to-mongo-db>
(you can omit the--public
flag if you are on a paid plan)
You can omit the -e flag if you configure environment variables in the now.json
file. It's best to use secrets so you don't commit full access to your DB.
When deploying to now.sh it runs npm i
and npm build
in the build step. This creates a production build of the web module. It then runs npm start
which starts the api node server with the production flag, which is the API and hosts the static files in the web folder.