Advanced cryptocurrencies demo trading platform.
- real-time price
- search any cryptocurrency!
- spot trading
- limit-order trading
- recent trades(Live)
- all trade histories
- all open orders
- cancel open orders
- account available margin
- account total margin
- PNL chart
- asset allocation chart
- all trade histories
- all open orders
- cancel orders
- gravatar profile photo
- edit name and last name
- change password
- view email and username
All used frameworks, technologies and libraries:
- [Django] - We use django for our backend
- [Redis] - Datebase memory caching and message broker
- [PostgreSql] - Sql datebase
- [JavaScript] - Our frontEnd made with pure js
- [jQuery] - FrontEnd
- [Twitter Bootstrap] - Great UI boilerplate for modern and responsive web apps
- [Heroku] - Deployment
- [Sentry] - Error tracking for both Django/JS
- [Google analytics] - For users analysis
- [Celery] - task schedule
- [Docker] - container
- [Django channels] - socket programming
$ docker-compose up --build
-
To create a superuser account, use this command:
$ python manage.py createsuperuser
First you should change directory to web:
$ cd web
$ cp .env-sample .env
and paste variables with your own.
$ pip install -r requirements/local.txt
$ chmod +x ./release.sh && ./release.sh
$ python manage.py collectstatic
$ python -m celery -A config worker -l info -c 4
in another console run:
$ python manage.py runserver
Set this environment variables
KEY | VALUE |
---|---|
DJANGO_SECRET_KEY | $(openssl rand -base64 64) |
WEB_CONCURRENCY | 4 |
DJANGO_DEBUG | False |
DJANGO_SETTINGS_MODULE | config.settings.production |
PYTHONHASHSEED | random |
DJANGO_ALLOWED_HOSTS | YOUR_DOMAIN |
DJANGO_ADMIN_URL | RANDOM_STRING/ |
CRYPTO_COMPARE_API | Get it from here |
EMAIL_HOST_USER | Email username |
EMAIL_HOST_PASSWORD | Email password |
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY | Get it from here |
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET | Secret from above |
HCAPTCHA_SITEKEY | Login and create new site |
HCAPTCHA_SECRET | Copy secret from above url |
SENTRY_DSN | Follow this instruction |
$ cd web
$ pip install -r requirements.txt
$ chmod +x ./release.sh && ./release.sh
$ python manage.py collectstatic
$ python -m celery -A config worker -l info -c 4
$ daphne -b 0.0.0.0 -p $PORT config.routing:application
If you want to pass ci/cd and auto deploy after each commit, you should add below secrets to your github repo secret lists.
KEY | VALUE |
---|---|
CRYPTO_COMPARE_API | Get it from here |
EMAIL_HOST_USER | Email username |
EMAIL_HOST_PASSWORD | Email password |
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY | Get it from here |
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET | Secret from above |
HCAPTCHA_SITEKEY | Login and create new site |
HCAPTCHA_SECRET | Copy secret from above url |
SENTRY_DSN | Follow this instruction |
HEROKU_API_KEY | Your API key |
HEROKU_APP_NAME | Your app name to be deployed here |
HEROKU_EMAIL | Your email address related to your heroku account |
$ cd web
$ python3 -m celery -A config worker -l info -c 4
GPL-3.0 license