Skip to content

Samsuhhh/Coindex-Coinbase

Repository files navigation

Coindex

Welcome to Coindex, a crypto marketplace web application inspired by Coinbase.com. Coindex offers live data for the prices and market details of 30 of the most popular cryptocurrencies currently available in the market. All market data was pulled from the Coingecko API. Although they differ slightly in price with Coinbase.com, you can still buy and sell assets on Coindex. Before making transactions on Coindex, you must add a debit card, which you can do in the same modal. Disclaimer: It should be noted that any transactions made on Coindex are NOT legitimate and are for demonstrative purposes only. Please be careful not to enter any real sensitive information on our site, especially your real credit card information.

*Live site: Coindex

Tech Stack

Frameworks, Platforms, and Libraries:

Javascript REACT REDUX Flask HTML5 CSS3 Chart.js Python

Database and Host:

Postgresql HEROKU

📃 Important Components

Splash Page

When you first navigate to our site, you will be met with our splash page where you can sign up or login with the buttons on the top right-hand corner. The Nav bar will change depending on whether or not you are logged in, but the user-authentication buttons will always be located in the top right-hand corner (Sign up, login, logout). Imgur

Your assets

The Assets page will detail your different wallets on the right hand sidebar, while also using the main page to display all of your recent transactions with your most recent transaction at the top. Imgur

Trade (All Assets)

The Trade page will navigate you to a list of all 30 currently available cryptocurrencies. You can click on any of the "Buy & Sell" buttons to open the modal OR you can double click any asset row to see more details about that asset. Imgur Imgur

Buy & Sell Modal

The Buy and Sell modal (opened with any 'Buy & Sell' button) is defaulted to BTC and allows you to:

Buy any available asset. Imgur

Sell any asset that you 'own' on the account. Imgur

Add a new debit card. Imgur

Edit/Delete an existing debit card. Imgur

Next Steps

  • Implement a send-and-receive feature between wallets on the Coindex database.
  • Improve the consistency of some CSS styling choices.
  • Implement site-wide DARK MODE setting
  • Implement Watchlist feature on the home page.

Get Started!

Clone repository.

  • SSH:
git@github.com:Samsuhhh/Coindex-Coinbase.git
  • HTTPS:
https://github.com/Samsuhhh/Coindex-Coinbase.git
  • CLI:
gh repo clone Samsuhhh/Coindex-Coinbase

Install dependencies & Prep database.

  • In the project directory you will run:
pipenv install

This command will install packages into the pipenv virtual environment and update your Pipfile.

  • Create a .env file in said current directory.
  • Paste in SECRET_KEY and DATABASE_URL configurations.
SECRET_KEY=<<SECRET_KEY>>
DATABASE_URL=sqlite:///dev.db

The .env file contains the individual user environment variables that override the variables set in the /etc/environment file. You can customize your environment variables as desired by modifying your .env file. In this case we are setting the SECRET_KEY and the DATABASE_URL.

  • While in your root directory run:
pipenv shell

This will create a new active pip environment for you to run your backend.

  • Followed by:
flask db upgrade
flask seed all
pipenv run flask run

Because this application uses SQLite, the upgrade command will detect that a database does not exist and will create it.

  • Navigate to your /Coindex-Coinbase/react-app/ folder and create another .env file.
  • Paste in the REACT_APP_BASE_URL
REACT_APP_BASE_URL=http://localhost:5000

We'll be pasting in the path to server for frontend into this newly created environment file.

  • All there is to do is:
npm install

This command installs a package and any packages that it depends on. Since the package has a package-lock the installation of dependencies will be driven by that. If you take a peak into your package.json file you can see all the dependencies our project is installing.

npm start

This runs a predefined command specified in the "start" property of a package's "scripts" object in our case it is:

"start": "react-scripts start"

DO NOT paste this anywhere. The code above is already provided in our package.json file!

Shout out Coingecko for a great cryptocurrency API! https://www.coingecko.com/en/api/

About

Coindex-ss is a Coinbase clone, by Sam Suh. More info to come.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors