Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

266 Commits
 
 
 
 
 
 

Repository files navigation

CoinFlip

Coin Detail

Coinflip is an app that allows a user to maintain a profile where they can watch coins using live API data.

Technology used

  • React
  • Redux
  • Flask
  • Flask-SQLAlchemy
  • PostgreSQL
  • CoinGecko API
  • WTForms

React Components

Index

How to clone and spin up from the repo

  1. git clone https://github.com/NathanFrank285/Coinflip.git

  2. Open two terminals; project-starter contains the backend which we'll run with flask, and the react-app folder holds our frontend.

  3. Install dependencies. For the backend, cd into project-starter and:

    pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt

    And for the frontend, cd into react-app and:

    npm install
  4. Setup your PostgreSQL user, password and database and make sure it matches your .env file

  5. Get into your pipenv, migrate your database, seed your database, and run your flask app

    pipenv shell
    flask db upgrade
    flask seed all
  6. To spin up the app, on the backend:

    flask run

    And on the frontend:

    npm start
  7. Create an account or login as the demo user. Enjoy!

Features

  • Coin Detail page featuring a line graph displaying data over a day, a week, or a month. This data is pulled from the CoinGecko API. We also provide other details about the coin below the graph. Coin Detail
  • A Dashboard/Portolio where the user can view a table displaying data about the coins they "own" and see how much their portfolio would be worth in USD. Dashboard
  • A watchlist where the user can keep track of coins they are interested in. Watchlist
  • A search bar or a browsing page that enable the user to find coins of interest. Coin Detail

Notable code snippets

Search and Add to Database

  • We recognized that users might search for coins in the browser url by typing in a ticker name that might not be available in our database yet. We implemented logic that initially checks if that coin name exists in the api, but is not in our database. If that is true, we add the coin to our database, then redirect the user to that newly added coin's page.

About

Buy, sell and manage a cryptocurrency portfolio. React.js, Redux, Python, Flask, JavaScript, Node.js, CoinGecko API, HTML5 , CSS3, PostgreSQL, Heroku

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages