Skip to content
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.
Branch: master
Clone or download
Latest commit 54f55e1 May 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
grails-app Delete cheatsheet.html Jul 19, 2018
src Add license Nov 24, 2016
test/javascript Revert "UI-Top-Menu-Changes" May 26, 2014
web-app/WEB-INF (COIN-205) Added angularjs, jquery. Created manifest file for javascr… May 6, 2014
.gitignore URL modifications to enable local connection Jun 26, 2018
Dockerfile Added docker file Jun 26, 2018
LICENSE Add license Nov 24, 2016 Update May 14, 2019
_config.yml Set theme jekyll-theme-slate Jul 19, 2018 Add license Nov 24, 2016
grailsw (COIN-205) Upgraded wrapper. May 6, 2014
grailsw.bat (COIN-205) Upgraded wrapper. May 6, 2014
package.json Modified ReadMe and changed file locations. May 11, 2014

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


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


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.


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.


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 code for coin exchange is kept here:


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


Unit Tests

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

Screen Shots

Market Data

Market Data Spread Market Data Depth


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 List

Trades List

Individual Trade Details

Individual Trade



History Ledger

Closed Orders

History Closed Order


History Trades


Deposit Withdrawal


Pre Requirements

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


  1. Clone the application from repo: git clone


  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.


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


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


Bug Reports & Feature Requests

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


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!


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

See our other projects

You can’t perform that action at this time.