---
# System prepended metadata

title: Price Tracker
tags: [fortech]

---

---
tags: fortech
---

# Price Tracker

### Short description
Price Tracker is a tool that will monitor a product price on eMAG (multiple merchants will be added in the future).

### Problem
We all want to buy the product at the best price possible, and whenever we see a product discounted we are not sure if the new price is a good deal.

### Solution
Price Tracker will monitor a product price for you, and whenever that price goes down you will receive a notification recommending the product. The application will receive a product URL (ex: [iPhone 12](https://www.emag.ro/telefon-mobil-apple-iphone-12-64gb-5g-black-mgj53rm-a/pd/DBTJ27MBM/?X-Search-Id=08715ca0491a7357c9bd&X-Product-Id=7236094&X-Search-Page=1&X-Search-Position=0&X-Section=search&X-MB=0&X-Search-Action=view)) and based on the URL will extract the merchant and initiate tracking product price evolution over time.

<!-- ### Flow

```flow
st=>start: User
op=>operation: Login
op2=>operation: Add product url
e=>end: End

st->op->op2->cond
```
 -->
### Technical specs

#### Backend
	- we will use NodeJS
	- we will use TypeScript
	- we will use either Express, Koa or Hapi
	- we will create a microservice arhitecture
		- web crawler service
		- authentication service
		- cronjob service
		- ...
	- we can select a different DB for each service (MongoDB, PostgreSQL, etc)

#### Frontend
	- we will use ReactJS
	- we will use TypeScript
	- we will use one of the folowing state management solutions: Redux, Mobx or Context with useReducer

#### Mobile (if we want to experiment in this area also)
	- we will use either ReactNative or Flutter