Giter VIP home page Giter VIP logo

a20180502 / coin-exchange-frontend Goto Github PK

View Code? Open in Web Editor NEW

This project forked from coin-worx/coin-exchange-frontend

0.0 0.0 0.0 5.46 MB

Coin Exchange front-end code. Coin Exchange is a high performance exchange system specialized for Crypto currency trading with different general purpose uses such as independent deposit and withdrawal channels for Bitcoin and Litecoin, and also a standalone exchange for different asset classes.

License: Apache License 2.0

JavaScript 0.57% CSS 15.82% Groovy 83.15% Batchfile 0.43% Dockerfile 0.03%

coin-exchange-frontend's Introduction

GitHub release GitHub (pre-)release GitHub issues GitHub top language GitHub watchers GitHub stars GitHub forks

IMPORTANT

This is an old project and isn't being actively maintained. Some of the libraries have since been deprecated and this may cause some of the dependencies to fail. We're not providing any support for this project anymore.

Coin Exchange Frontend

Introduction

The main aim of the platform is to provide a web based exchange facility for the up and coming digital currencies including Bitcoin, Litecoin and the ability to trade them against standard fiat currencies. The platform has been designed to be used by retail and institutional traders and investors. The platform will be available internationally through web based platform and will be accessed using a web browser on a computer or mobile device.

Context

The product serves as a platform for trading different digital currencies for different fiat currencies. The digital currencies available for trading are going to be:

  • Bitcoin (BTC)
  • Litecoin (LTC)

The major fiat currencies available for trading are going to be:

  • US Dollar (USD)
  • Euro (EUR)
  • Sterling Pound (GBP)
  • Australian Dollar (AUD)
  • Swiss Franc (CHF)
  • Japanese Yen (JPY)

The platform is a self contained product with not much integration with external system(s). However, the billing module will have to support some different mechanisms for depositing money into user accounts that may include:

  • Paypal deposit
  • Bank/wire transfer deposit
  • Bitcoin deposit

Problem Statment

Cryptocurrency market has been on rise in the recent years and has become a popular financial entity. The crypto market is decentralized it's not being controlled by any single authority offering more control to the users. Some of the cryptocurrencies can also be used by setting a fixed supply cap making them more imune to inflation. This makes the cryptocurrency market highly profitable.

Solution

To gain profit from cryptocurrency market apart from investing in trading cryptocurrencies itself one can take advantage from market liquidity by creating their own cryptocurrency exchange. Creating a cryptocurrency exchange offers the advantage of being a part of the cyrpto market itself and one can take advantage of the transaction fees to generate revenue.

Technology Stack

  • Grails: Server side MVC, Backend REST Integration
  • Spock: Spock is a testing and specification framework for Java and Groovy applications
  • Selenium: Browser automation framework
  • Geb: Geb is a browser automation solution for e2e/functional testing
  • AngularJS: Client side MVC, DI, Data Binding, etc.
  • Jasmine: JavaScript testing framework
  • jQuery: A cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
  • Karma: JavaScript unit test runner
  • Protractor: JavaScript e2e test runner
  • HighCharts: Charting API
  • Istanbul: A JS code coverage tool
  • HTML5/CSS3/JS:
  • Grunt: Task manages, needed to handle assets optimization
  • Bower: Client-side code package manager
  • Yeoman: Used for quickly & easily creating an angularJs based application

Backend

Backend code for coin exchange is kept here: https://github.com/coin-worx/coin-exchange-backend

Infrastructure

Docker file for coin-exchange front end is kept here: coin-exchange-frontend/Dockerfile

To generate docker image for coin-exchange front end. Follow the given steps

  1. Go to coin-exchange-frontend in console (or terminal)
  2. Run grails war
  3. To build docker image run docker build -t frontend -f Dockerfile .
  4. To run docker image run docker run --net=host -p 8080:8080 -t frontend:latest

Testing

Unit Tests

Unit Tests details are kept here: coin-exchange-frontend/test/javascript/unit

Screen Shots

Market Data

Market Data Spread Market Data Depth

Orders

New Order

New Order with Open Orders view

New Order with OrderBook view

Orders List

Orders List

Individual Order Details

Individual Order

Trades

Overview

Trades Overview

Trades List

Trades List

Individual Trade Details

Individual Trade

History

Ledger

History Ledger

Closed Orders

History Closed Order

Trades

History Trades

Deposit/Withdrawl

Deposit Withdrawal

Usage

Pre Requirements

  • Grails v2.3.8
  • Java v1.6
  • MySql
  • Git
  • Tomcat

Building

  1. Clone the application from repo: git clone https://github.com/coin-worx/coin-exchange-frontend.git

Running

  1. grails clean (To clean the application)
  2. grails compile (To compile the application)
  3. grails run-app (To run the application)
  4. If above commands are successful then you will see a log on your terminal saying that application can be accessed at: localhost:8080/coinexchange.
  5. You have to write following url localhost:8080/coinexchange in url browser window and press Enter.

Integration with IntelliJ

  1. Go to coin-exchange-frontend in console (or terminal)
  2. Run grails integrate-with --intellij
  3. In intellij idea File -> Open, go to coin-exchange-frontend and open coin-exchange-frontend.ipr
  4. Press Convert when IDE will ask.
  5. Run project always from console, not from IDE.

Logs

When running locally through grails run-app, then logs can be found under this location ...\coin-exchange-frontend\logs.

Help

Got a question? File a GitHub issue, send us an email at [email protected] or reach out to us on social media Twitter, Facebook

Contributing

Bug Reports & Feature Requests

Please use the issue tracker to report any bugs or file feature requests.

Developing

PRs are welcome. In general, we follow the "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we can review your changes

NOTE: Be sure to merge the latest from "upstream" before making a pull request!

About

The project is created and maintained by Aurora Solutions. Like it? Please let us know at [email protected]

See our other projects

coin-exchange-frontend's People

Contributors

abaziz avatar ahmadiq avatar bilal-78699 avatar rasheedamir avatar taimoorchoudhary avatar waqastheenigma 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.