Skip to content

A web application to convert from one currency value to another using the free.converterapi. It works without a back end and can work offline depending on the frequency of usage and most used currency rates. This is in demonstration of the knowledge acquired from the Google Africa Scholarship Mobile Web Specialist Course. Certificate awarded on …

License

Notifications You must be signed in to change notification settings

hephzaron/CurrencyConverter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Currency Converter

Currency Converter Image

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

Table of Contents

Installation and setup

Pre-requisites

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

Installing

  1. Download or clone this branch at https://github.com/hephzaron/CurrencyConverter.git"
  2. Navigate to working directory and install dependencies:
npm install 
  1. 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
  1. 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

Service Worker

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.

Indexed Db

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.

Cache

This is mostly used to store in the cache the app's page skeleton for a rich offline use experience.

License

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

Author

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.

Contributing Guide

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,

  1. Fork the project
  2. Create a feature branch, branch away from master
  3. If you have multiple commits please combine them into a few logically organized commits by squashing them
  4. Push the commit(s) to your fork
  5. Submit a merge request (MR) to the master branch
  6. The MR title should describe the change you want to make
  7. The MR description should give a motive for your change and the method you used to achieve it.
  8. Mention the issue(s) your merge request solves, using the Solves #XXX or Closes #XXX syntax to auto-close the issue(s) once the merge request will be merged.
  9. Be prepared to answer questions and incorporate feedback even if requests for this arrive weeks or months after your MR submission
  10. If a discussion has been addressed, select the "Resolve discussion" button beneath it to mark it resolved.
  11. When writing commit messages please follow these guidelines.

Acknowledgement

Throughout this project, the third party api used is Currency Coverter API

About

A web application to convert from one currency value to another using the free.converterapi. It works without a back end and can work offline depending on the frequency of usage and most used currency rates. This is in demonstration of the knowledge acquired from the Google Africa Scholarship Mobile Web Specialist Course. Certificate awarded on …

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages