It’s the year 2028. Ahmed, a curly-haired slightly neurotic 21-year-old university student, is concerned about the ever-growing influence of Jeff Bezos and his economic empire. In particular, Ahmed would like to know how much money he spends on Bezos-related companies (his Bezos’ “share of wallet”).
A simple web tool for Ahmed to calculate how much money he spends on Bezos-related companies. This tool should, in one UI:
- Show Ahmed a list of his transactions for the month of January 2029, ordered by Date.
- Allow him to visually discern which transactions are to known Bezos-related companies.
- Let him see how much money he pays to these Bezos-affiliated companies (both as a total dollar amount and as a percentage of his spending).
- Allow him to mark or unmark any specific transaction as being Bezos-related, even if it is not to a known Bezos-related company.
- If Ahmed marks (or unmarks) any transaction as being Bezos-related, all other transactions to the same merchant name should also be marked or unmarked in the same way (for example, if he marks any Lyft transaction as Bezos-related, all Lyft transactions should become Bezos-related).
- Any changes Ahmed makes should be persisted for future use. Information / Assumptions:
- Bezos owns Amazon, the Washington Post, Whole Foods, and space-travel company Blue Origin. Any transactions to these merchants should initially/automatically be marked as Bezos-related for Ahmed.
- Don’t worry about authentication or security (in 2028, it works magically through biometrics).
- Assume you can get Ahmed’s spending transactions from a GET call to this URL: https://hadiziady.github.io/bezos_mock_api/mock_api.json.
- MongoDBCompass installed on your machine
- Backend: NodeJs with TypeScript
- Frontend: ReactJs with TypeScript
- Database: MongoDB
- Download this repository "https://github.com/Khloud-azeem/Bezos-Empire-State.git"
- Navigate to the Backend folder in the project directory
- Add .env file to the project directory with the following code
MONGO_DB_URI = "{your MongoDB connection string}" eg. "mongodb://127.0.0.1:27017/nawy"
- Run these commands.
npm install
npm run watch
- Navigate to the Frontend folder in the project directory and run these commands.
cd bezos-empire-state
npm install
npm run dev