/ruby_take_home_challenge

Exercise for take-home activity. An application that helps users monitor their Ethereum wallets.

Primary LanguageRuby

πŸ“— Table of Contents

Ruby take home challenge

Take home source

Context:

We are looking to get a decent transfer of Ethers (cryptocurrency) to one of our company wallets. Unfortunately we're not sure which one so we would appreciate a bit of help. Your task is to create an application that helps users monitor their Ethereum wallets.

app screenshot

Business Requirements:

  • As a User I'd like to add my existing Wallet address to list of monitored Wallet addresses
  • As a User I'd like to see list of my monitored Wallets addresses with most recently added at the top
  • As a User I'd like to see details of my Wallets including list of transactions, as well as total balances
  • As a Guest I'd like to see how many non-empty wallets are registered on the site (see welcome screen for non-logged-in user)
  • As a User I'd like to be able to toggle between ETH and PLN currency on list of transactions

Other Requirements:

Considerations

  • What will happen in case of one external APIs going down
  • Do we need to limit external API calls

πŸ›  Built With

Tech Stack

Server

Key Features

  • Rest Client for Ruby
  • Stimulus
  • Haml
  • Minitest

(back to top)

πŸ’» Getting Started

To get a local copy up and running, follow these steps.

Prerequisites

In order to run this project you need:

Ruby

Setup

Clone this repository to your desired folder:

using HTTPS:

  git clone https://github.com/ElsonOtake/ruby_take_home_challenge.git
  cd ruby_take_home_challenge

using an SSH key:

  git clone git@github.com:ElsonOtake/ruby_take_home_challenge.git
  cd ruby_take_home_challenge

using GitHub CLI:

  git clone gh repo clone ElsonOtake/ruby_take_home_challenge
  cd ruby_take_home_challenge

Install

Install this project with:

  bundle install

Add the .env file to your root directory and enter your Ethereum API key.

  API_KEY=<your Ethereum API key>

Usage

To run the project, execute the following command:

  rails server

Run tests

To run tests, run the following command:

  rails test

(back to top)

πŸ‘₯ Author

πŸ‘€ Elson Otake

(back to top)

πŸ”­ Future Features

  • Create transactions pagination
  • Create more tests

(back to top)

🀝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

⭐️ Show your support

Give a ⭐️ if you like this project!

(back to top)

πŸ™ Acknowledgments

I would like to thank:

(back to top)

πŸ“ License

This project is MIT licensed.

(back to top)