In this repository, you will find the source code of the Coinwink app version 2, which is built using Laravel and Vue.js.
The previous V1 version of Coinwink was developed using WordPress and jQuery, and it was live from 2016 to 2022. You can find the first version archived under the Releases section. While the Coinwink V1 was optimized and fast, it was difficult to maintain and develop new features. As a result, the app was migrated to Laravel and Vue.js to improve maintainability and the speed of development.
The new Coinwink V2 includes some code from the V1 that was retained for its optimization and has been transferred unchanged from the previous framework to the new one. However, the overall architecture of the app is now based on Laravel for the backend and Vue.js for the frontend, which allows for easier maintenance and development of new features.
- Clone this repository.
.envand update it with your credentials. You need to provide at least the
DB_DATABASEvalue for the app to work.
publicfolder with your database credentials.
- Run the
php artisan migratecommand to create database tables.
- Generate your application encryption key by running the
php artisan key:generatecommand.
- For local environment, set up a virtual host with its path pointing to Laravel's
publicfolder. Then update the virtual host URL in the
webpack.mixfile as the proxy value.
- Copy contents from the cryptocurrency-logos repository to
/public/imgfolder to have the following structure
- For hot reload, run the
npm run watchcommand.
- For a production build, run the
npm run buildcommand.
To create a new user, first update the
.env file with your mail server credentials, and then use the user sign up form.
To use all app's features, you need to upgrade your user to Premium by manually editing the database. First, open the
cw_settings table and edit your user: set
subs column to
1, and enter any amount of SMS credits in the
sms column. Then create a new record in the
cw_subs table with your user id, set
status column to
plan column to
To get new market price data from CoinMarketCap (for alerts, portfolio, and watchlist), register for the Free CMC API plan, and then update the
coinwink_auth_cmc.php file with your credentials. To fetch new data from CMC, run
To trigger and send crypto alerts by email, SMS, and Telegram, run the following scripts:
cron_alerts_email_cur.php- Email price alerts
cron_alerts_email_per.php- Email percentage alerts
cron_alerts_sms_cur.php- SMS price alerts
cron_alerts_sms_per.php- SMS percentage alerts
cron_alerts_tg_cur.php- Telegram price alerts
cron_alerts_tg_per.php- Telegram percentage alerts
cron_alerts_portfolio.php- Portfolio alerts
To receive SMS alerts, sign up on Twilio, get your API keys, and update the
coinwink_auth_sms.php file. Then run the above mentioned SMS scrips to trigger and send SMS alerts.
For currency rates conversion, two services are utilized. For more info, see the
/img/coins folder is for cryptocurrency logos. Our script to update/fetch new logos can be found here.
To migrate from WordPress users, the mikemclin/laravel-wp-password tool is being used. When an old WordPress user tries to log in, the user is automatically moved to Laravel's authentication system by adding the user to the database
users table with the user's password rehashed for Laravel.
The database migrations were generated from the existing database with the help of the kitloong/laravel-migrations-generator tool.
Coinwink's source code is available for personal and non-commercial use only. For more details, see the LICENSE.
You are welcome to report issues, provide your feedback, or suggest ideas and improvements. For similar communication, use the issue tracker or contact us by email.