Skip to content

Khasanovii92/openGain

Repository files navigation

#OpenGain Engine

##Особенности

  • Полностью открытый исходный код.
  • Максимальная безопасность.
  • Модульная система. Вы можете сами разрабатывать и подключать отдельные модули. Базовая сборка имеет все необходимые модули для начала работы.
  • Мультиязычность сайта из коробки.
  • Модули платежных систем (Perfect Money, Payeer). При необходимости Вы можете очень просто написать свой модуль для любой платежной системы.
  • Отсутствие депозитов. Больше нет необходимости создавать отдельные депозиты. Все деньги, которые находятся на балансе пользователя, работают постоянно. Реферальные начисления, начисленные проценты, внутренние переводы также суммируются с балансом и продолжают работать. Переход на следующий инвестиционный план происходит автоматически.

##Базовый набор модулей

  • Внутренние сообщения
  • Внутренние переводы
  • Новости
  • Отзывы
  • Статичные страницы (редактируются из админки)
  • Тикеты

##Требования

  • Python >= 3.4.1
  • Django >= 1.7.1
  • django-modeltranslation >= 0.8b2
  • django-bootstrap3
  • django-rosetta
  • psycopg2
  • requests
  • pytz

##Установка

Рассмотрим вариант установки с помощью Vagrant (Ubuntu 14.04):

$ vagrant init ubuntu/trusty64
$ vagrant up

Заходим на машину и ставим необходимые пакеты:

$ vagrant ssh
$ sudo apt-get install postgresql nginx-full uwsgi-core git uwsgi-plugin-python3 python3-psycopg2 python3-pip

Подготавливаем виртуальное окружение:

$ pip3 install virtualenv
$ cd /srv
$ virtualenv --system-site-packages OpenGainENV && cd OpenGainENV/
$ source bin/activate
$ git clone https://github.com/OpenGain/OpenGain.git opengain && cd opengain

Ставим необходимые модули:

$ pip install django==1.7.1 django-modeltranslation==0.8b2 django-bootstrap3 django-rosetta requests pytz

На этот момент команда ./manage.py runserver должна отрабатывать без ошибок:

$ ./manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
September 15, 2014 - 08:46:50
Django version 1.7, using settings 'opengain.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Останавливаем сервер (Ctrl+C) и настраиваем базу

$ sudo su - postgres
$ psql template1
> CREATE USER opengain WITH PASSWORD 'change_me';
> CREATE DATABASE opengain ENCODING 'utf-8' TEMPLATE template1;
> GRANT ALL PRIVILEGES ON DATABASE "opengain" to opengain;
> \q
$ exit

Прописываем базу данных в opengain/settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'opengain',
        'USER': 'opengain',
        'PASSWORD': 'change_me',
        'HOST': 'localhost',
    }
}

Запускаем миграции и создаем админа

$ ./manage.py migrate
$ ./manage.py createsuperuser
Login: admin
Email: admin@localhost
Password: 
Password (again): 
Superuser created successfully.

Далее необходимо создать стартовый скрипт

$ sudo vim /etc/init/opengain.conf

Пишем туда:

description "OpenGain instance"
start on runlevel [2345]
stop on runlevel [06]
respawn
exec uwsgi_python34 --die-on-term --ini /srv/OpenGainENV/opengain/uwsgi.ini

Последний этап: создаем конфиг для Nginx

$ sudo vim /etc/nginx/sites-available/opengain

Со следующим содержимым:

server {

        listen 80;
        server_name opengain.com www.opengain.com;
        charset     utf-8;

        access_log      /var/log/nginx/opengain.access.log;
        error_log       /var/log/nginx/opengain.error.log;

        location /media  {
                alias /srv/OpenGainENV/opengain/static;
        }

        location /static  {
                alias /srv/OpenGainENV/opengain/static;
        }

        location / {
                uwsgi_pass unix:///srv/OpenGainENV/master.sock;
                include     /etc/nginx/uwsgi_params;
        }
}

Создаем для него символическую ссылку и рестартим Nginx и uwsgi

$ sudo ln -s /etc/nginx/sites-available/opengain /etc/nginx/sites-enabled/opengain
$ sudo service opengain start
$ sudo service nginx restart

##Настройки

Все настройки проекта (кроме инвестиционных планов) производятся в файле opengain/settings.py.

#####PROJECT_TITLE Название Вашего проекта, которое будет использоваться в шаблонах писем, платежах, HTML-страницах сайта и т.п.

#####PROJECT_DOMAIN Домен проекта без www

#####ADMINS Список админов в формате ('Name', 'email@host'). По этим адресам будут отправляться сообщения об ошибках.

#####SERVER_EMAIL Адрес для рассылки служебных писем пользователям (о начислениях, регистрациях и т.п.).

#####TIME_ZONE Часовой пояс для серверного времени. Полный список поясов.

#####REFLINK_REDIRECT URL, по которому будет переадресован пользователь после перехода по реферальной ссылке. Можно указывать как имя ссылки, так и url.

#####PROJECT_START_DATETIME Дата и время старта проекта

#####REFERRAL_COMISSIONS Реферальные комиссии по уровням. Например, если указать (5,3,2), то будет три уровня 5%-3%-2%, соответственно. Если указываете один уровень, обязательно нужно после цифры ставить запятую, например: (5,).

#####WITHDRAW_COMISSION_PERCENT Комиссия на вывод в процентах

#####WITHDRAWAL_MIN Минимальный единовременный вывод

#####WITHDRAWAL_MAX Максимальный единовременный вывод

#####DEPOSIT_MIN Минимальный единовременный депозит

#####DEPOSIT_MAX Максимальный единовременный ввод

#####ADMIN_URL URL-адрес для админки (без слешей)

#####TRANSLATION_URL URL-адрес для перевода текстов (без слешей)

##Платежные системы

###Perfect Money

#####PM_ACCOUNT Логин

#####PM_WALLET Кошелек

#####PM_PASSWORD Пароль

#####PM_PASSPHRASE Кодовое слово

###Payeer

#####PAYEER_ACCOUNT Кошелек

#####PAYEER_SHOP_ID, PAYEER_SHOP_KEY ID и ключ магазина

#####PAYEER_API_ID, PAYEER_API_KEY ID и ключ API

#####PAYEER_RESULT_URL Часть URL, по которому будет приходить ответ от ПС.

##Настройка платежных систем

###PerfectMoney

После установки кодового слова и IP-адреса для проведения платежей, Вам нужно только заполнить данные в opengain/settings.py и платежная система готова к работе.

###Payeer

Во время создания магазина в личном кабинете Payeer, Вам необходимо указать следующие URL:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published