CoinTable 5.4.0

Documentation By RunCoders

CoinTable

Coin Table is a custom made CMS for cryptocurrencies market information.

Before starting the setup, please check if your system meets the requirements.

Requirements:

PHP 7.0+
PHP cURL
600MB Disk space
Access to cron jobs.
If using RSS feeds
libxml2 (2.8 or above)
One of iconv, mbstring or intl extensions
PCRE support

CryptoCurrencies
13K+
Exchanges
400+
Mining Equipments
500+

Please get started with the following steps:


Setup
To use Coin Table 5.4.0 you need to complete the setup (new and updates).
Setup
Admin Panel
Where all configuration are made.
Admin Panel
Data API
API endpoints documentation. Get data with simple HTTP requests.
Data API
Contributes
List of frameworks/APIs used.
Contributes
Changelog
Updates changelog.
Changelog
Support
If you need help, just send us a message.
Support

Setup
All steps needed to bootstrap CoinTable


New Installation

To setup a new installation follow all the steps below.

Getting Errors?

If an error is being raised but configuration seems correct, you can enable error messages by changing the ENVIRONMENT in /index.php (line 20):

1. Database

First you need to create a MySQL database and user details.
If you already have your database created, ignore this step.

From cPanel

  • Create a database
  • Create an user
  • Add user to database
  • Grant all privileges

From Command-Line

Connect to your server with admin privileges.

Open mysql with your details (root user):

Create a database:

Create a user:

Grant all privileges:

Flush privileges:

2. Configuration
Inside the archive file you have downloaded from CodeCanyon you will find a coin_table folder, open it.

Edit the /application/config/database.php file with your new MySQL details:


hostname: your host (normally localhost)
username: MySQL user name
password: MySQL user password
database: MySQL database name

Edit the /application/config/config.php file with your website URL:

Web Server

For Apache and Litespeed we provide a .htaccess file, found on the coin_table folder root.

If you are using SSL/HTTPS you may want to uncomment beginning code, like this:

If you are using NGINX, you need to setup a server block. Please replace example.domain and /var/www/example.domain with real values.

If you are using Microsoft IIS, please import the .htaccess file with IIS Manager > URL Rewrite and get web.config rules

3. Upload

From cPanel

  • Zip coin_table to create coin_table.zip package.
  • Open your web hosting cPanel account.
  • Navigate to your public directory with File Manager (e.g public_html).
  • Click on Upload button and choose coin_table.zip.
  • Select the coin_table.zip package and extract it to public directory.
  • Move all coin_table folder content and to public directory.

From FTP

Connect to your FTP server.
Navigate to your public directory (e.g public_html).
Upload the coin_table folder content to public directory.
4. Images Folder Permissions

Usually this step is not necessary since permissions probably are correct by default.
But if the image uploader is not working, check the following instructions.

From cPanel

  • If images folder has not 775 mode permission, select the folder and click in "Change permissions".
  • Enter 755 as new permissions for the folder

From Command-Line

Add your username to www-data:

Set permissions for user group www-data (change with your path):

Set permissions mode with (change with your path):

5. Install
  • Open this URL with your own domain.

    http://example.domain/install
  • Should appear a success message.
6. Cron Job
Initial Download

It will take a few hours to download all info and images for the first time.

Check Progress

The progress can be checked on Admin Panel > Coins section.
If the number of coins does not increase over time probably the cron job is not working properly (and is the most common issue).

Add cron job on cPanel

  • Go to Advanced > Cron Jobs
  • Navigate to Add New Cron Job or equivalent
  • Select every minute timeout (* * * * *)
  • Enter the following command:

Add cron job with command line

  • Connect to your server.
  • Run the following command:

  • Write the following command:

  • Save the crontab.
  • Check if it was added with:

7. Login
  • Open the following correspondent URL:

    http://example.domain/auth/login
  • Enter the default admin user details:
    Password: password
  • You must create a new user, login with it and remove the default user.

Upgrade

Check your current version in /index.php.

Old Major Versions

If you have an earlier version (1.x - 4.x), you will need a new installation.

Below you will find lists of files modified for each release, every single file must be uploaded.

If you have custom code in any of those files check the code differences or contact us.

5.1.0 from 5.0.x

/index.php
/application/core/CT_Model.php
/application/controllers/Admin.php
/application/helpers/coin_table_helper.php
/application/libraries/Coin_table.php
/application/models/Options_model.php
/application/views/admin/base.php
/application/views/frontend/pages/exchanges.php

5.1.1 from 5.1.0

/index.php
/application/controllers/Api.php

5.1.2 from 5.1.1

/index.php
/application/controllers/Api.php
/application/libraries/Coin_table.php

5.2.0 from 5.1.2

/index.php
/application/config/coin_table.php
/application/controllers/Admin.php
/application/controllers/Api.php
/application/controllers/Frontend.php
/application/controllers/Upgrade.php
/application/core/CT_Controller.php
/application/languages/(*)/coin_table_lang.php
/application/libraries/Coin_table.php
/application/models/Coins_model.php
/application/models/Options_model.php
/application/views/admin/template/currency_page.php
/application/views/frontend/page/currency.php
/assets/admin/js/admin.js
/assets/admin/js/admin.min.js
/assets/frontend/css/frontend.css
/assets/frontend/js/market.js
/assets/frontend/js/market.min.js
/assets/frontend/js/currency.js
/assets/frontend/js/currency.min.js
Notes about 5.2.0

This version brings many changes to multiple files and database.

If have custom code in the updated files, probably you want to all the files as they are and only update database.

THIS IS NOT REQUIRED IF YOU UPLOAD THE FILES!
Update the database (for better performance) in MySQL, PHPMyAdmin or equivalent database interface:

5.2.1 from 5.2.0

/index.php
/application/controllers/Api.php
/application/libraries/Coin_table.php
/application/models/Coins_model.php

5.3.0 from 5.2.1

/index.php
/application/controllers/Api.php
/application/controllers/Frontend.php
/application/controllers/Upgrade.php
/application/core/CT_Model.php
/application/libraries/Coin_table.php
/application/models/Coins_model.php
/application/models/Options_model.php
/assets/frontend/js/currency.js
/assets/frontend/js/currency.min.js
/assets/frontend/js/market.js
/assets/frontend/js/market.min.js

5.4.0 from 5.3.0

/index.php
/application/libraries/Coin_table.php
/application/third_party/SimplePie/* (all files)

Reset

If you need to reset the database (hard reset):

you need to upload the /application/controllers/Install.php file.
Redo the New Installation > Install step.

Data API
Build your apps with CoinTable API

API Endpoints
The API base URL will be your website URL.
To call any endpoint just append the correspondent URI (eg. /api/coins)
Coins
GET
/api/coins/

Get all cryptocurrencies active on database.

GET
/api/coins/trends/{top?}
top
int
Lists limit (default: 10)

Get trending (gainers and losers) cryptocurrencies.

GET
/api/coins/search/{limit?}/?q={TEXT}
GET
/api/coins/search/{limit?}/?c[]=slug1&c[]=slug2
limit
int
List limit (default: 10)
q
string
Text used to match symbol, slug and name fields
c
array
Array of slugs for specific match

Search cryptocurrencies and get a list with matches.

Chart Data
GET
/api/chart_data/{slug}/{days}/{currency?}
slug
string
Cryptocurrency's slug
days
int
Number of days
currency
string
Exchange currency ID (default: USD)

Get chart data for a given cryptocurrency.

Exchange Rates
GET
/api/rates/

Get all rates information (base USD).

GET
/api/rates/fx

Get rates values with (base USD).

Exchanges
GET
/api/exchanges/

Get exchanges list with full information and ordered by 24h trading volume.

Services
GET
/api/services/

Get services list with full information.

Mining Equipment
GET
/api/mining_equipment/

Get all mining equipments information.

Admin Panel
Settings & content control panel

Coins

Coins

Cryptocurrencies
Manager for all cryptocurrencies provided by CoinGecko
Custom Assets

Manager for custom assets.

Custom Asset

Custom asset is an abstract asset tracking a cryptocurrency volatility (price changes).
You can simulate your own cryptocurrency.

Converter Page

Converter Page

Title
Page header title & title HTML tag
Subtitle
Page header subtitle
Top & Bottom HTML
Custom HTML code inserted before/after page header
After HTML
Custom HTML code inserted after page main content
Custom SEO
Override title, description, og:title, og:image, twitter:title & twitter:image meta tags
Currency Page

Currency Page

Top & Bottom HTML
Custom HTML code inserted before/after page header
Options
Show/Hide sections
After HTML
Custom HTML code inserted after page main content
Custom Pages

Custom Pages

Create your own pages with custom content.

Custom Page
Public
Controls page visibility
Path
Custom URI path for the page
Title
Page header title & title HTML tag
Subtitle
Page header subtitle
Content
Page main content
Custom SEO
Override title, description, og:title, og:image, twitter:title & twitter:image meta tags
Donation

Donation

Title
Donation box title
Content
Donation box message content
Paypal
Paypal.me information
CryptoCurrencies
List of cryptocurrencies addresses
Exchanges Page

Exchanges Page

Title
Page header title & title HTML tag
Subtitle
Page header subtitle
Top & Bottom HTML
Custom HTML code inserted before/after page header
Options
Enter the items listed per page
After HTML
Custom HTML code inserted after page main content
Custom SEO
Override title, description, og:title, og:image, twitter:title & twitter:image meta tags
Footer

Footer

Logo
If enabled will show logo, otherwise shows only name
Background Color
Footer main content background color
Heading Color
Text color for footer's menus headers
Link Color
Text color for footer's menus items
Text Color
Text color for website name
Menus
Footer has three customizable menus
Bottom Bar
Slim bar for copyrights, with configurable background and text colors
General Settings

General Settings

Name
Your website name
Logo URL
Your website logo URL
Favicon URL
Your website favicon image URL. Should be a PNG file and 16px square
Title
Default title for pages
Description
Text used to describe your website on search engines
Front Page
The page selected shown when visiting your website root
Theme
Color theme used by your website
Default Language
First language that visitors will have selected
Timezone
Used for datetime offset
Date Format
How date will be displayed
Time Format
How time will be displayed
Default Price Currency
First price currency that visitors will have selected
OpenGraph Image URL
If defined, will add og:image meta tag
Twitter Username
If defined, will add twitter:site meta tag
Twitter Creator
If defined, will add twitter:creator meta tag
Twitter Card
Selects the type of card shown in twitter
Twitter Image URL
If defined, will add twitter:image meta tag
GDPR
Enable & configure cookie use warning
Custom Code
Allows custom HTML or CSS code for all pages
Header & Menu

Header & Menu

Style
How the menu will be display
Brand Type
Choose to show logo or name
Screen Breakpoint
Screen width for showing sidebar menu anyway
Header Background Color
Background color for top nav menu
Header Font Color
Text color for top nav menu items
Sidebar Background Color
Background color for sidebar menu
Sidebar Font Color
Text color for sidebar menu items
Menu
Menu items builder
Market Page

Market Page

Title
Page header title & title HTML tag
Subtitle
Page header subtitle
Top & Bottom HTML
Custom HTML code inserted before/after page header
Options
Sets table's display columns, max width in px for large screens and items per page
After HTML
Custom HTML code inserted after page main content
Custom SEO
Override title, description, og:title, og:image, twitter:title & twitter:image meta tags
Mining Page

Mining Page

Title
Page header title & title HTML tag
Subtitle
Page header subtitle
Top & Bottom HTML
Custom HTML code inserted before/after page header
Options
Items displayed per page & click event
After HTML
Custom HTML code inserted after page main content
Custom SEO
Override title, description, og:title, og:image, twitter:title & twitter:image meta tags
Press Page

Press Page

Title
Page header title & title HTML tag
Subtitle
Page header subtitle
Top & Bottom HTML
Custom HTML code inserted before/after page header
Options
RSS feeds manager and items displayed per page
After HTML
Custom HTML code inserted after page main content
Custom SEO
Override title, description, og:title, og:image, twitter:title & twitter:image meta tags
Services Page

Services Page

Title
Page header title & title HTML tag
Subtitle
Page header subtitle
Top & Bottom HTML
Custom HTML code inserted before/after page header
Options
Items per row & per page
Services
Blocking list & url override.
Custom Services
Own services manager
After HTML
Custom HTML code inserted after page main content
Custom SEO
Override title, description, og:title, og:image, twitter:title & twitter:image meta tags
Social

Social

Here you can define your social network profiles.

All major social networks are supported.

Trends Page

Trends Page

Title
Page header title & title HTML tag
Subtitle
Page header subtitle
Top & Bottom HTML
Custom HTML code inserted before/after page header
Options
Choose items displayed per page
After HTML
Custom HTML code inserted after page main content
Custom SEO
Override title, description, og:title, og:image, twitter:title & twitter:image meta tags
Users

Users

Users manager

Contributes

CoinTable is using the following frameworks/APIs:

Thanks to all that contribute for the development of these technologies.

Changelog

5.4.0
June 1, 2022

Fix: RSS support for PHP 8+.
Changed: SimplePie library upgraded to v1.6.0.

Files changed:
/index.php
/application/libraries/Coin_table.php
/application/third_party/SimplePie/*

5.3.0
December 30, 2021

Changed: engine explicit definition for all tables.
Added: execute OPTIMIZE LOCAL TABLE SQL command once a day on coins and options tables.
Changed: expired datasets deleted by cron job limited to 10 per execution.
Changed: market search bar improved speed with custom API endpoint.
Changed: currency chart price Y axis is now on right side.
Changed: currency chart for custom assets does not show market cap neither volume series.

Files changed:
/index.php
/application/controllers/Api.php
/application/controllers/Frontend.php
/application/controllers/Upgrade.php
/application/core/CT_Model.php
/application/libraries/Coin_table.php
/application/models/Coins_model.php
/application/models/Options_model.php
/assets/frontend/js/currency.js
/assets/frontend/js/currency.min.js
/assets/frontend/js/market.js
/assets/frontend/js/market.min.js

5.2.1
November 21, 2021

Changed: sync top coins every minute.
Changed: sync rate increased to ~1500 coins/minute.
Changed: chart data api optimised.

Files changed:
/index.php
/application/controllers/Api.php
/application/libraries/Coin_table.php
/application/models/Coins_model.php

5.2.0
November 17, 2021

Changed: database fields defined as FLOAT redefined as DOUBLE (with huge performance improvement).
Changed: market page's 7 days charts data now is loaded asynchronous (to increased loading speed).
Changed: gainers and losers listings restricted by market cap > US$ 100k and volume 24h > US$ 1000.
Changed: currency page mobile usability was improved.
Changed: currency page chart readability improved.
Added: exchange tickers table was introduced in currency page.
Added: longtime expired cache data is now removed with cron job.

Files changed:
/index.php
/application/config/coin_table.php
/application/controllers/Admin.php
/application/controllers/Api.php
/application/controllers/Frontend.php
/application/controllers/Upgrade.php
/application/core/CT_Controller.php
/application/languages/(*)/coin_table_lang.php
/application/libraries/Coin_table.php
/application/models/Coins_model.php
/application/models/Options_model.php
/application/views/admin/template/currency_page.php
/application/views/frontend/page/currency.php
/assets/admin/js/admin.js
/assets/admin/js/admin.min.js
/assets/frontend/css/frontend.css
/assets/frontend/js/market.js
/assets/frontend/js/market.min.js
/assets/frontend/js/currency.js
/assets/frontend/js/currency.min.js

5.1.2
September 6, 2021

Fix: chart data for custom asset with multiple not equal to 1.
Fix: avoid incomplete listing when updating exchanges (syncExchange).

Files changed
/index.php
/application/controllers/Api.php
/application/libraries/Coin_table.php

5.1.1
June 6, 2021

Fix: chart data api issues

Files changed:
/index.php
/application/controllers/Api.php

5.1.0
June 2, 2021

Fix: base model issues
Fix: options model issues
Fix: exchanges sync full list
Fix: cronjob freeze on duplicated error
Changed: environment to production
Changed: exchanges page
Changed: strip html from currency description

Files changed:
/index.php
/application/core/CT_Model.php
/application/controllers/Admin.php
/application/helpers/coin_table_helper.php
/application/libraries/Coin_table.php
/application/models/Options_model.php
/application/views/admin/base.php
/application/views/frontend/pages/exchanges.php

5.0.1
December 1, 2020

PHP 7.4+ compatibility

Files changed:
/application/helpers/coin_table_helper.php
/application/libraries/Coin_table.php

5.0
December 7, 2018

robots.txt file removed
New pages:
Services
Exchanges
Trends
Press page updated
Market page updated
Mining page updated
Currency page updated
ICOs page updated
New API provider (CoinGecko)
GDPR message added
Multi language added:
English
Portuguese
Spanish
German
Dutch
French
Italian
Hungarian
Romanian
Swedish
Polish
Indonesian
ZH-CN
ZH-TW
Japanese
Korean
Russian
Arabic
Thai
Vietnamese
Turkish

4.0
April 20, 2018

Market stats added
Front page selection added
Cryptocurrencies logos added
Charts available for almost all cryptocurrencies
Header & menu multi options added
Paypal on donation box added
Footer multi options added
Cryptocurrency include/exclude rules added
Creation of custom assets added
Market page redesigned
Converter page redesigned
Currency page redesigned
Press page (RSS feeds) added
ICOs page added
Mining equipment page added
Custom SEO options added
Multi mining script added
New user management
Easier API
Image Gallery added
AngularJS removed from frontend
Rates conflict fixed

3.1
December 6, 2017


Chart data changed and deflate compression added.
3 cryptocurrencies removed:
  • NOTE (DNotes)
  • SJCX (Storjcoin X)
  • NAUT (NautilusCoin)
2 cryptocurrencies added:
  • STORJ (Storj)
  • GAS (Gas)
Deflate compression added through .htacess file

3.0
September 13, 2017


Even better with new features.
Custom Pages creator added
Pages submenu added
Selected pricing currency & search options memorized on client browser
Charts available on two more currencies
  • BCH (Bitcoin Cash)
  • ZRX (0x)
  • CVC (Civic)
  • OMG (OmiseGO)
1 Day window in charts added
Global custom HTML & CSS fields
Sitemap added
'index.php' removed from URL
Bugs fixed

2.0
July 5, 2017


Rebuilt for backend control.
Codeigniter integration
Authentication module added
Admin panel added
Charts available on currency page (65 cryptocurrencies)
  • BTC (Bitcoin)
  • ETH (Ethereum)
  • XRP (Ripple)
  • ETC (Ethereum Classic)
  • GNT (Golem)
  • DOGE (Dogecoin)
  • STR (Stellar)
  • XEM (Nem)
  • LTC (Litecoin)
  • XMR (Monero)
  • DGB (DigiByte)
  • SC (Siacoin)
  • BTS (BitShares)
  • ZEC (Zcash)
  • DASH (Dash)
  • BCN (Bytecoin)
  • FCT (Factom)
  • BTM (Bitmark)
  • STRAT (Stratis)
  • STEEM (Steem)
  • REP (Augur)
  • LSK (Lisk)
  • NXT (Nxt)
  • SYS (SysCoin)
  • MAID (MaidSafeCoin)
  • ARDR (Ardor)
  • GAME (GameCredits)
  • DCR (Decred)
  • GNO (Gnosis)
  • AMP (Synereo)
  • LBC (LBRY Credits)
  • CLAM (Clams)
  • VTC (Vertcoin)
  • BURST (Burst)
  • RIC (Riecoin)
  • SJCX (Storjcoin X)
  • NAV (NAV Coin)
  • PINK (PinkCoin)
  • PPC (Peercoin)
  • EXP (Expanse)
  • XCP (Counterparty)
  • BTCD (BitcoinDark)
  • EMC2 (Einsteinium)
  • VIA (Viacoin)
  • NXC (Nexium)
  • NEOS (NeosCoin)
  • FLO (FlorinCoin)
  • PASC (Pascal Coin)
  • NAUT (NautilusCoin)
  • RADS (Radium)
  • POT (PotCoin)
  • BLK (BlackCoin)
  • BELA (BelaCoin)
  • BCY (Bitcrystals)
  • FLDC (FoldingCoin)
  • XPM (Primecoin)
  • NMC (Namecoin)
  • GRC (GridCoin)
  • XVC (Vcash)
  • XBC (Bitcoin Plus)
  • HUC (HunterCoin)
  • VRC (VeriCoin)
  • NOTE (DNotes)
  • OMNI (Omni)
  • SBD (Steem Dollars)

1.3
May 26, 2017


Multi page script with custom code.
Homepage added (Header, Featured & Posts)
Market page added
Currency page added (Info details)
Custom cryptocurrency content added (Info details)
Converter page added

1.0
May 13, 2017


Single page market page.
Search table
Donation Box
Editable fields (seo, menu, footer)

Get Support
If you need help with the setup/usage of this software, please contact us


Free Cloud Hosting
Needing a web hosting to test this software?

We offer you US$ 100 cloud server credit on:

DigitalOcean
2017 - 2021 RunCoders