Code Monkey home page Code Monkey logo

vic778 / money-exchange Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 1.0 192 KB

this is a simple exchange web app that allow users to exchange their moeny according to the currency they have choosed. it update the curency database by getting rule from an api. for that i'm using background job and sidekiq cron for schedule every single day at 07h 05 AM to run the function. if the exchange is done it create a object and so far w

Ruby 83.22% JavaScript 2.45% CSS 1.40% HTML 12.93%
postgresql redis rswag rubocop ruby ruby-on-rails sidekiq sidekiq-cron

money-exchange's Introduction

MONEY EXCHANGE

On https://fixer.io/ you can sign up to get access to an WebApi that provides you with currency exchange rates. The API provides the rates in JSON structures. Sign up to get access and familiarize you with the API. Below are a few programming tasks that utilize this service in different ways.

  1. Create a ruby script within the rails project that takes in two currency codes and one amount as input. The amount is in the first currency, and the script should calculate the currency amount for the second currency code (using the latest exchange rates). The program should do the calculation in process and not utilize any external calculation api.
  2. Extend the program with an optional input date, do the same calculation as in step 1 but use the currency rate for the date inputted to the program. You need to find out the url for retrieving exchange rate a given date using the documentation on fixer.io.
  3. Create a program that will be executed once a day. The program should retrieve the latest exchange rate and store it in a database. This task involves designing a suitable database structure. Optional tasks (time permitting)
  4. Create an API that offers the same calculations as in task 1-1 and task 1-2
  5. Build a simple web on top of the service you created in task 2, that offers this calculation service to the user.
  6. Extend the API from task 2-1, with a new method to return all the exchange rates for one currency for a given period of time. The exchange rates should be extracted from the database created in task 1-3.
  7. Build a web page on top of task 2-3, to show how an exchange rate develops for a time period, find a satiable graphical component to visualize the exchange rate. models:
  • Exchange
  • Currency

Information

Kindly open a PR and ask for review so anyone available can have a deeper look and give you some feedback. before doing anything else check the jobs controller and understand what it does. the code are basic to start the project however any update or changes is welcome.

Built With

  • Rails
  • Ruby
  • Postgresql
  • Sidekiq
  • Sidekiq cron
  • Redis
  • Rswag

Getting Started

Here are the steps to follow in order to get this project on your local computer.

Prerequisites

rails v7.0.2 +

ruby v3.0.2 +

Setup

clone this repo by typing git clone https://github.com/vic778/money-exchange

Install

install the dependencies by typing bundle install

Usage

start the local server by running rails s

Testing

run the tests by typing rails rswag

img

Documentation

Author

๐Ÿ‘ค Victor Barh

๐Ÿค Contributing

Contributions, issues and feature requests are welcome!

Feel free to check the issues page

Show your support

Give a โญ๏ธ if you like this project!

Acknowledgments

N/A

๐Ÿ“ License

This project is MIT licensed.

money-exchange's People

Contributors

vic778 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

francelwebdev

money-exchange's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.