Currency converter is a mini app that can convert from one currency to the other and can also display the trend of selected currency over a period of 6days. It also made use of service worker api, indexedDb and cache api for offline capabilities
Ensure the underlisted are installed on your PC before running this application
-
Latest version of Nodejs - comes with a Node Package Manager
-
A browser that supports the use of service worker and browser storage capabilities
- Download or clone this branch at https://github.com/hephzaron/CurrencyConverter.git"
- Navigate to working directory and install dependencies:
npm install
- Run locally on pc (on master branch) This will make available to you the transpiled js files, css and html in the build directory
git checkout master(if branch is not currently on master)
npm run build
- Deploy to gh-page
To run on gh-pages, files must be in the root directory of gh-pages branch, ensure you navigate to gh-pages branch.
git checkout gh-pages(if branch is not currently on master)
To restore folder to initial state without adapting it to gh-pages use:
npm run reverse
To adapt folder structure and transpiled js-files with gh-pages from original folder structure:
npm run deploy-ghpage
To edit original files and watch for changes while transpiling , ensure you working with the original folder structure then run:
npm run build
This app makes use of a service worker that enables the app to download currencies, rates etc. and save to the browsers db. It also intercept requests to ensure user has an exciting experience when working offline.
Conversion rates and historical data are only saved to indexedDb when a user at one time or the other have accessed the currency before. For currency list, it is independent of app usage.
This is the api used to store currency rates, history, lists etc. in various object stores on the browser, for a first time user get all currency list in the db might take some time due to the large volume of currency details been fetched from the network.
This is mostly used to store in the cache the app's page skeleton for a rich offline use experience.
This project is authored by Daramola Tobi (hephzaron@gmail.com) and is licensed for your use, modification and distribution under the MIT license. MIT © hephzaron
Daramola Tobi (hephzaron@gmail.com)is an aspiring developer passionate about building real apps to enhance his learning and sharpen his programming skills, believes strongly in self learning and has variety of interest as it range from web application, data analysis and artificial intelligence.
Thank you for your interest in contributing to this package. I currently accept contributions and corrections from everyone but should be according to standards To contribute,
- Fork the project
- Create a feature branch, branch away from
master
- If you have multiple commits please combine them into a few logically organized commits by squashing them
- Push the commit(s) to your fork
- Submit a merge request (MR) to the
master
branch - The MR title should describe the change you want to make
- The MR description should give a motive for your change and the method you used to achieve it.
- Mention the issue(s) your merge request solves, using the
Solves #XXX
orCloses #XXX
syntax to auto-close the issue(s) once the merge request will be merged. - Be prepared to answer questions and incorporate feedback even if requests for this arrive weeks or months after your MR submission
- If a discussion has been addressed, select the "Resolve discussion" button beneath it to mark it resolved.
- When writing commit messages please follow these guidelines.
Throughout this project, the third party api used is Currency Coverter API