Code Monkey home page Code Monkey logo

grey-lock / coinance Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 0.0 383 KB

A digital currency asset management tool built in Ruby on Rails & jQuery with a PostgresQL database, Omniauth, and devise for user authentication. Customized with Bootstrap and custom CSS.

Home Page: https://coinance.herokuapp.com/

License: MIT License

Ruby 22.21% JavaScript 0.43% CSS 67.05% HTML 10.08% CoffeeScript 0.22%
digital-currency cryptocurrency omniauth devise ruby-on-rails crud-application management-system ruby postgresql

coinance's Introduction

Coinance

Coinance is a Ruby on Rails web application that allows you to manage a portfolio of your digital currency assets and investments.

  • Live demo deployed to Heroku
  • Users can create an account to store data on transactions and wallets where they have any cryptocurrencies.
  • Leverages the Cryptocompare API to retrieve real-time info & price data on 2,000+ cryptocurrencies and tokens.
  • Users can save a transaction or a wallet by selecting from a real-time list of digital currencies and tokens to save to the database.
  • Coins are selected in real-time, and persisted to the database as an associated coin to either a wallet, or a transaction.
  • Users can submit their own prices if purchased at a different time for their own transactions/wallets.
  • User sign-in, sign-out, and session security is handled with Devise Devise
  • Users can log in with Facebook using Omniauth
  • Displays updated price data on Bitcoin, Ethereum, and Litecoin on the Coin index page.
  • Displays stats on the Coins saved with the most transactions.
  • Users can ONLY create, read, update, or delete their own transactions and wallets.
  • All user data is validated using ActiveRecord ORM & Rails model validations.
  • Database schema is created in PostgresQL.
  • Styled custom SCSS with an open-source Bootstrap theme.

Installation

Fork and clone this repository, and then execute:

$ bundle install

$ rake db:migrate

Then run:

$ rails s

Open up a new browser window and navigate to:

localhost:3000

Models

This app uses 5 ActiveRecord Models: User, Coin, Wallet, Transaction, and CryptocompareApi. The join table is Transaction.

User:

has_many :transactions
has_many :coins, through: :transactions
has_many :wallets

Coin:

has_many :transactions
has_many :users, through: :transactions
has_many :wallets

validates :name, :symbol

Wallet:

belongs_to :user
belongs_to :coin

validates :name, :coin_amount, :user_deposit (presence, and greater than 0)

Transaction:

belongs_to :user
belongs_to :coin

validates :amount, :quantity, :price_per_coin, :fee (presence, and greater than 0)

Cryptocompare API:

Uses custom methods, to parse real-time price data, symbols, coin names, and coin IDs.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/TheInvalidNonce/coinance. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The app is available as open source under the terms of the MIT License.

coinance's People

Contributors

grey-lock avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

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.