The data fisher is a single page web application that calls multiple API
endpoints and returns the data in a CSV
format.
- Calls multiple
API
endpoints and returns the data in aCSV
format. - Allows you to specify the groups you want to use to call the
API
endpoints. - Allows you to specify the sample groups you want to use to call the
API
endpoints. - Allows you to specify the
API
key/credentials and the end point you want to call. - Allows you to start and stop the data retrieval process.
- Allows you to download the data as a
CSV
file.
Below are the instructions for getting the data fisher up and running on your local machine.
data/groups.js
- Contains the groups that will be used to call theAPI
endpoints.- Update
groupIDs
array with the groups you want to use. This should contain ALL the groups you want to use. - Update
groupIDsTest
array with the sample groups you want to use. This should contain ONLY the handful of sample groups you want to use.
- Update
config/config.js
- Contains the configuration for the data fisher.- Update
config
object with yourAPI
key/credentials and the end point you want to call. - Update
useTestGroups
totrue
if you want to use the sample groups arraygroupIDsTest
indata/groups.js
. Otherwise, set it tofalse
to use the groups arraygroupIDs
indata/groups.js
.
- Update
- Clone the repository.
- Open the
data_fisher.html
web page in a browser. - Click on Start Fishing for Data button to start the data retrieval process.
- When the data retrieval process is complete, the data will be downloaded as a
CSV
file in your browser.
Important
This application was built with the intention of being run locally on your machine (and any machine since most browsers are supported being that it is built with HTML
, CSS
, and JavaScript
). If you want to deploy this application to a server, you will need to make some changes to the code to allow for cross-origin resource sharing (CORS) and to allow for the download of the CSV
file.
- Open the
data_fisher.html
web page in a browser. - Click on Start Fishing for Data button to start the data retrieval process.
- When the data retrieval process is complete, the data will be downloaded as a
CSV
file in your browser. - Click on Stop Fishing for Data button to stop the data retrieval process.
- Note: The data retrieval process will stop automatically when all the
API
endpoints have been called and you will not be able to download the data as aCSV
file until you start the data retrieval process again.
- Note: The data retrieval process will stop automatically when all the
- If an error occurs while calling an
API
endpoint, the error will be logged in the console and displayed in the Errors section of the web page. - Troubleshoot the error and refresh the page to try the data retrieval process again.
data_fisher.html
- The main web page that contains the data fisher.js/app.js
- The main JavaScript file that contains the logic for the data fisher.config/config.js
- The configuration file that contains the configuration for the data fisher.data/groups.js
- The file that contains the groups that will be used to call theAPI
endpoints.images/
- The folder that contains the images used in the data fisher.css/styles.css
- The CSS file that contains the styles for the data fisher.
All emojis designed by OpenMoji – the open-source emoji and icon project. License: CC BY-SA 4.0
- JavaScript 3.8.3 -
JavaScript
is a lightweight, interpreted, object-oriented language with first-class functions, and is best known as the scripting language for Web pages, but it's used in many non-browser environments as well. - PapaParse 5.3.0 - Papa Parse is a powerful, in-browser CSV (Comma-Separated Values) parser for JavaScript. It's designed to handle various types of CSV data efficiently and provides a simple interface for parsing CSV files or strings in the client-side environment. Papa Parse is widely used in web applications to read and process CSV files, especially when dealing with large datasets or files.
- OpenMoji - OpenMoji is the open-source emoji and icon project. License: CC BY-SA 4.0
- JavaScript Documentation -
JavaScript
is a lightweight, interpreted, object-oriented language with first-class functions, and is best known as the scripting language for Web pages, but it's used in many non-browser environments as well. - HTML Documentation -
HTML
is the language for describing the structure of Web pages. - CSS Documentation -
CSS
is a language that describes the style of anHTML
document. - Visual Studio Documentation - Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs, as well as websites, web apps, web services and mobile apps.
- Chrome Developer Tools Documentation - Chrome DevTools is a set of web developer tools built directly into the Google Chrome browser. DevTools can help you edit pages on-the-fly and diagnose problems quickly, which ultimately helps you build better websites, faster.
- Google Chrome Documentation - Google Chrome is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, and was later ported to Linux, macOS, iOS, and Android.
This project is released under the terms of the MIT License, which permits use, modification, and distribution of the code, subject to the conditions outlined in the license.
- The MIT License provides certain freedoms while preserving rights of attribution to the original creators.
- For more details, see the LICENSE file in this repository. in this repository.
Author: Scott Grivner
Email: scott.grivner@gmail.com
Website: scottgrivner.dev
Reference: Main Branch