https://github.com/capybara003/demo-tradingplatform
https://github.com/capybara003/demo-tradingplatform
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/capybara003/demo-tradingplatform
- Owner: Capybara003
- License: gpl-3.0
- Created: 2025-03-11T09:52:22.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-11T11:02:34.000Z (over 1 year ago)
- Last Synced: 2025-03-23T08:19:11.623Z (about 1 year ago)
- Language: JavaScript
- Size: 3.24 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Demo Trading
Advanced cryptocurrencies demo trading platform.
[](https://github.com/ambv/black)
[](https://github.com/mohamadkhalaj/Demo-TradingPlatform/actions/workflows/production.yml)
## Features✨
### Market:
- real-time price
- search any cryptocurrency!
### Trade:
- spot trading
- limit-order trading
- recent trades(Live)
- all trade histories
- all open orders
- cancel open orders
### Portfolio:
- account available margin
- account total margin
- PNL chart
- asset allocation chart
### Trade history
- all trade histories
### Open orders:
- all open orders
- cancel orders
### Profile:
- gravatar profile photo
- edit name and last name
- change password
- view email and username
## Tech
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
`$ docker-compose up --build`
## Setting Up Super User
- To create a **superuser account**, use this command:
$ python manage.py createsuperuser
## Local running
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```
## Running in Production
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](https://min-api.cryptocompare.com/) |
| EMAIL_HOST_USER | Email username|
| EMAIL_HOST_PASSWORD | Email password |
| SOCIAL_AUTH_GOOGLE_OAUTH2_KEY | [Get it from here](https://developers.google.com/identity/protocols/oauth2) |
| SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET | Secret from above |
| HCAPTCHA_SITEKEY | [Login and create new site](https://dashboard.hcaptcha.com/overview) |
| HCAPTCHA_SECRET | Copy secret from above url |
| SENTRY_DSN | [Follow this instruction](https://docs.sentry.io/platforms/python/guides/django/) |
```
$ 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
```
## Github workflows (CI/CD)
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](https://min-api.cryptocompare.com/) |
| EMAIL_HOST_USER | Email username|
| EMAIL_HOST_PASSWORD | Email password |
| SOCIAL_AUTH_GOOGLE_OAUTH2_KEY | [Get it from here](https://developers.google.com/identity/protocols/oauth2) |
| SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET | Secret from above |
| HCAPTCHA_SITEKEY | [Login and create new site](https://dashboard.hcaptcha.com/overview) |
| HCAPTCHA_SECRET | Copy secret from above url |
| SENTRY_DSN | [Follow this instruction](https://docs.sentry.io/platforms/python/guides/django/) |
| 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 |
## Celery
```
$ cd web
$ python3 -m celery -A config worker -l info -c 4
```
## License
GPL-3.0 license
## Screenshots












