Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/r13i/cheapest-phone-call
Small challenge to find the best phone operator to use based on call price
https://github.com/r13i/cheapest-phone-call
big-data big-data-analytics cheapest data-analysis data-cruncher pandas phone-number pricelist
Last synced: 17 days ago
JSON representation
Small challenge to find the best phone operator to use based on call price
- Host: GitHub
- URL: https://github.com/r13i/cheapest-phone-call
- Owner: r13i
- License: mit
- Created: 2018-11-15T19:56:39.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-11-16T13:24:44.000Z (over 6 years ago)
- Last Synced: 2024-12-07T05:12:32.564Z (2 months ago)
- Topics: big-data, big-data-analytics, cheapest, data-analysis, data-cruncher, pandas, phone-number, pricelist
- Language: Jupyter Notebook
- Size: 13.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cheapest-phone-call
Small challenge to find the best phone operator to use based on call price### Methodology
- We'll be using Python as programing language as it is pretty straightforward to build a fast prototype of the solution, and also as it offers many libraries aimed at making large datasets manipulation easier (`pandas`, `numpy`, ...)
- We'll be using a Jupyter notebook in order to have a maximum of ergonomy and a beautiful visual presentation. Also, there will be no need to download or re-run the code as the results is already displayed in the notebook.
- Unit Testing will be done within the same notebook, in separated cells to show directly that everything runs as expected.
- In case we want to have a production-ready prototype that deals with larger datasets, one of the best choices I propose is to use `Apache Spark` with the `Scala API`, as it is especially aimed for Big Data, and because it runs on the JVM.
### How To
- `$ git clone https://github.com/redouane-dev/cheapest-phone-call.git`
- `$ cd cheapest-phone-call`
- Create a virtual environment to avoid dealing with dependency issues and conflicts : `$ virtualenv -p python3 venv`
- `$ source ./venv/bin/activate`. You'll start seeing a `(venv)` before the shell prompt.
- `(venv) $ pip install -r requirements.txt` in order to install all the requirements.Now you should be all set to run the notebook
- `(venv) $ jupyter notebook prototyping.ipynb`