Skip to content

Karol-Witkowski/Estirency

Repository files navigation

Estirency

ESTIRENCY Codacy Badge

Estirency logo

Estirency goal is to present actual and historical exchange rates. Select base currency, desired currency and type amount of cash - Estirency will display actual rates right away. Historical data is presented on the chart.

Contents



Demo

You can try Estirency by yourself. Here is a link to the website hosted by GitHub.

Estirency demo

usage example



Technologies

Technology Description Link
Sass Preprocessor that helps write maintainable CSS https://sass-lang.com/
Vue.js Versatile Progressive Javascript Framework for building user interfaces https://vuejs.org/
Jest A comprehensive JavaScript testing solution https://jestjs.io/
Cypress E2E Testing Framework that runs in a browser https://www.cypress.io/


Features

  • Track exchange rates

  • Convert between major currencies

  • Display historical exchange rate data



Installation

Prerequisites

To run the application install Node.js and Vue CLI. To do so follow instructions on official websites.

Running Locally

  1. Clone the repository
git clone git@github.com:Karol-Witkowski/Estirency.git
  1. Install dependencies

Run npm install to install required node modules.

  • Install dependencies for the project root folder
npm install
  1. Run the application

Run npm serve to start the application

npm run serve

Visit application on: localhost:8080.



Tests

Unit tests

Unit tests written using Vue Test Utils with Jest. To run tests open the terminal and run the code below:

npm run test:unit

E2E tests

E2E tests are written in Cypress. Those tests simulate the real user scenario and interact with dummy data. To run E2E tests open the terminal and run the code below:

Open Cypress Test Runner:

npm run test:cypress-open

Run all tests headlessly in the Electron browser:

npm run test:cypress-run


Available scripts

Lint and fix files:

npm run lint

Run client tests with Jest:

npm run test:unit

Launch Cypress in interactive mode with a GUI:

npm run test:e2e-open

Run client E2E tests in headless mode with Cypress:

npm run test:e2e-run

Deploy on Gh-pages:

npm run gh-pages-deploy

Initialize Vue UI and project manager:

npm run ui

Run client development server with Hot-Module-Replacement:

npm run serve

Produce a client production-ready bundle in the dist/ directory:

npm run build