{"id":22026055,"url":"https://github.com/amazingcoderpro/email-distribution-management-system","last_synced_at":"2026-05-02T14:50:04.546Z","repository":{"id":253873418,"uuid":"195722722","full_name":"amazingcoderpro/email-distribution-management-system","owner":"amazingcoderpro","description":"自动化邮件营销，通过电子邮件的方式与受众客户进行商业交流，并通过进一步追踪分析用户对营销邮件的反应获取新的销售线索, 以达到精准营销，差异化营销，提高营销转化率的目的","archived":false,"fork":false,"pushed_at":"2019-11-08T05:40:43.000Z","size":1049,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-01-28T17:28:07.616Z","etag":null,"topics":["e-commerce","email-sender","google-analytics","python","robot","shopify"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amazingcoderpro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-08T02:29:59.000Z","updated_at":"2024-11-02T07:06:45.000Z","dependencies_parsed_at":"2024-08-20T05:07:46.547Z","dependency_job_id":null,"html_url":"https://github.com/amazingcoderpro/email-distribution-management-system","commit_stats":null,"previous_names":["amazingcoderpro/email-distribution-management-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazingcoderpro%2Femail-distribution-management-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazingcoderpro%2Femail-distribution-management-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazingcoderpro%2Femail-distribution-management-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazingcoderpro%2Femail-distribution-management-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amazingcoderpro","download_url":"https://codeload.github.com/amazingcoderpro/email-distribution-management-system/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245090874,"owners_count":20559298,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["e-commerce","email-sender","google-analytics","python","robot","shopify"],"created_at":"2024-11-30T07:24:50.120Z","updated_at":"2026-05-02T14:50:04.456Z","avatar_url":"https://github.com/amazingcoderpro.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## edm项目\n\n### 1. 数据库初始化\n\n```\n\nINSERT INTO `store` (`id`, `name`, `url`, `domain`, `email`, `token`, `hmac`, `timezone`, `sender`, `customer_shop`, `sender_address`, `logo`, `service_email`, `currency`, `site_name`, `store_view_id`, `init`, `source`, `user_id`, `store_create_time`, `create_time`, `update_time`)\nVALUES\n\t(1, 'admin', 'admin.myshopify.com', 'www.admin.com', '', '', '', '(GMT+08:00) Asia/Shanghai', 'admin', '', '', NULL, NULL, NULL, NULL, '111111', 1, 1, 1, '2018-08-15 10:39:16.000000', '2019-07-12 09:53:09.077657', '2019-08-07 17:51:30.943595');\n\n\n\nINSERT INTO `user` (`id`, `last_login`, `is_superuser`, `first_name`, `last_name`, `is_staff`, `is_active`, `date_joined`, `username`, `email`, `password`, `code`, `create_time`, `update_time`)\nVALUES\n\t(1, NULL, 0, '', '', 0, 1, '2019-07-12 09:53:09.453778', 'admin', '', 'pbkdf2_sha256$120000$6YoSxUhSYlrw$6bJxEh1+uJVQ8cwm47KIzbwXPpmm3lz0qgQmbMr3yKE=', '111111', '2019-07-12 09:53:09.454534', '2019-08-01 14:42:03.904975');\n\n\nINSERT INTO `customer_group` (`id`, `title`, `description`, `sents`, `opens`, `clicks`, `open_rate`, `click_rate`, `members`, `relation_info`, `customer_list`, `state`, `store_id`, `create_time`, `update_time`)\nVALUES\n\t(1, 'VIP Customers', '', 0, 0, 0, 0.0000, 0.0000, '0', '{\\\"relation\\\":\\\"\u0026\u0026\\\",\\\"group_condition\\\":[{\\\"group_name\\\":\\\"VIP Customers\\\",\\\"relation\\\":\\\"||\\\",\\\"children\\\":[{\\\"condition\\\":\\\"Customer placed order\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"more than\\\",\\\"values\\\":[\\\"3\\\",1],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"},{\\\"relation\\\":\\\"is over all time\\\",\\\"values\\\":[0,1],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]},{\\\"condition\\\":\\\"Customer total order payment amount\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"is more than\\\",\\\"values\\\":[500],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]}]},{\\\"group_name\\\":\\\"Accept Marketings\\\",\\\"relation\\\":\\\"\u0026\u0026\\\",\\\"children\\\":[{\\\"condition\\\":\\\"Customer who accept marketing\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"is true\\\",\\\"values\\\":[30],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]}]}]}', '[]', 1, 1, '2019-08-09 18:04:30.152421', '2019-08-16 13:38:27.824821'),\n\t(2, 'New ArrivalsNew Customers', '', 0, 0, 0, 0.0000, 0.0000, '0', '{\\\"relation\\\":\\\"\u0026\u0026\\\",\\\"group_condition\\\":[{\\\"group_name\\\":\\\"New ArrivalsNew Customers\\\",\\\"relation\\\":\\\"||\\\",\\\"children\\\":[{\\\"condition\\\":\\\"Customer sign up time\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"is in the past\\\",\\\"values\\\":[15,1],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]},{\\\"condition\\\":\\\"Customer subscribe time\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"is in the past\\\",\\\"values\\\":[15,1],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]},{\\\"condition\\\":\\\"Customer placed order\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"equals\\\",\\\"values\\\":[\\\"0\\\"],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"},{\\\"relation\\\":\\\"is over all time\\\",\\\"values\\\":[0,1],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]}]},{\\\"group_name\\\":\\\"New ArrivalsNew Customers\\\",\\\"relation\\\":\\\"\u0026\u0026\\\",\\\"children\\\":[{\\\"condition\\\":\\\"Customer who accept marketing\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"is true\\\",\\\"values\\\":[30],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]}]}]}', '[]', 1, 1, '2019-08-09 18:08:56.527726', '2019-08-16 13:38:27.832379'),\n\t(3, 'Potential Customers', 'Potential Customers', 0, 0, 0, 0.0000, 0.0000, '0', '{\\\"relation\\\":\\\"\u0026\u0026\\\",\\\"group_condition\\\":[{\\\"group_name\\\":\\\"Potential Customers\\\",\\\"relation\\\":\\\"||\\\",\\\"children\\\":[{\\\"condition\\\":\\\"Customer paid order\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"equals\\\",\\\"values\\\":[\\\"0\\\"],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"},{\\\"relation\\\":\\\"is over all time\\\",\\\"values\\\":[0,1],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]},{\\\"condition\\\":\\\"Customer placed order\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"more than\\\",\\\"values\\\":[0,1],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"},{\\\"relation\\\":\\\"is in the past\\\",\\\"values\\\":[60,1],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]}]},{\\\"group_name\\\":\\\"Accept Marketings\\\",\\\"relation\\\":\\\"\u0026\u0026\\\",\\\"children\\\":[{\\\"condition\\\":\\\"Customer who accept marketing\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"is true\\\",\\\"values\\\":[30],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]}]}]}', '[]', 1, 1, '2019-08-09 18:09:31.025966', '2019-08-16 13:38:27.839564'),\n\t(4, 'At Churn-Risk Custome', '', 0, 0, 0, 0.0000, 0.0000, '0', '{\\\"relation\\\":\\\"\u0026\u0026\\\",\\\"group_condition\\\":[{\\\"group_name\\\":\\\"At Churn-Risk Custome\\\",\\\"relation\\\":\\\"||\\\",\\\"children\\\":[{\\\"condition\\\":\\\"Customer placed order\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"more than\\\",\\\"values\\\":[\\\"1\\\",1],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"},{\\\"relation\\\":\\\"is over all time\\\",\\\"values\\\":[0,1],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]},{\\\"condition\\\":\\\"Customer last order created time\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"is between\\\",\\\"values\\\":[30,90],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]}]},{\\\"group_name\\\":\\\"At Churn-Risk Custome\\\",\\\"relation\\\":\\\"\u0026\u0026\\\",\\\"children\\\":[{\\\"condition\\\":\\\"Customer who accept marketing\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"is true\\\",\\\"values\\\":[30],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]}]}]}', '[]', 1, 1, '2019-08-09 18:15:13.429793', '2019-08-16 13:38:27.847500'),\n\t(5, 'Lapsed Customers', '', 0, 0, 0, 0.0000, 0.0000, '0', '{\\\"relation\\\":\\\"\u0026\u0026\\\",\\\"group_condition\\\":[{\\\"group_name\\\":\\\"Lapsed Customers\\\",\\\"relation\\\":\\\"\u0026\u0026\\\",\\\"children\\\":[{\\\"condition\\\":\\\"Customer last order created time\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"is between\\\",\\\"values\\\":[90,100000],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]},{\\\"condition\\\":\\\"Customer clicked email\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"equals\\\",\\\"values\\\":[\\\"0\\\"],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"},{\\\"relation\\\":\\\"is over all time\\\",\\\"values\\\":[0,1],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]}]},{\\\"group_name\\\":\\\"Lapsed Customers\\\",\\\"relation\\\":\\\"\u0026\u0026\\\",\\\"children\\\":[{\\\"condition\\\":\\\"Customer who accept marketing\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"is true\\\",\\\"values\\\":[30],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]}]}]}', '[]', 1, 1, '2019-08-09 18:21:33.202815', '2019-08-16 13:38:27.855510'),\n\t(6, 'Active Customers', '', 0, 0, 0, 0.0000, 0.0000, '0', '{\\\"relation\\\":\\\"\u0026\u0026\\\",\\\"group_condition\\\":[{\\\"group_name\\\":\\\"Active Customers\\\",\\\"relation\\\":\\\"||\\\",\\\"children\\\":[{\\\"condition\\\":\\\"Customer last order created time\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"is in the past\\\",\\\"values\\\":[30,1],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]},{\\\"condition\\\":\\\"Customer last opened email time\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"is in the past\\\",\\\"values\\\":[30,1],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]}]},{\\\"group_name\\\":\\\"Active Customers\\\",\\\"relation\\\":\\\"\u0026\u0026\\\",\\\"children\\\":[{\\\"condition\\\":\\\"Customer who accept marketing\\\",\\\"relations\\\":[{\\\"relation\\\":\\\"is true\\\",\\\"values\\\":[30],\\\"unit\\\":\\\"days\\\",\\\"errorMsg\\\":\\\"\\\"}]}]}]}', '[]', 1, 1, '2019-08-09 18:25:27.987085', '2019-08-16 13:38:27.861897');\n\n```\n\n### 2. 部署\n\n```\n## 安装python3\nhttps://www.cnblogs.com/golangav/p/7341870.html#_label0\n\n\n\n## 1.拉取后端项目\n\nmkdir -p /data/django/ \u0026\u0026 mkdir /data/nginx/ \u0026\u0026 cd /data/django/\ngit clone https://github.com/wcadaydayup/edm.git\ncd /data/django/edm/ \u0026\u0026 pipenv install\n\n\n## 2.拉取前端项目\n\nmkdir -p /data/nginx/edm/\n将前端dist目录传到/data/nginx/edm/下\nmkdir /data/nginx/edm/dist/media/\n\n\n## 3.安装supervisor\n\nyum install epel-release\nyum install -y supervisor\nsystemctl enable supervisord\nmv /data/django/edm/bin/supervisord/supervisord.conf /etc/supervisord.conf\nvim /etc/supervisord.conf         # 将mysql环境变量写到配置文件中\n    environment=\n\nsystemctl start supervisord\n\nsupervisorctl status\nsupervisorctl stop 进程\nsupervisorctl stop all\n\n\n\n## 4.安装nginx\n\nrpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm\nyum install -y nginx\nsystemctl enable nginx.service\nvim /etc/nginx/conf.d/edm.conf\n\n    upstream server_pools {\n        server 127.0.0.1:8000; # for a web port socket (we'll use this first)\n    }\n\n    server {\n        listen       80;\n        server_name  smartsend.seamarketings.com;\n        location /api {\n             proxy_pass http://server_pools;\n             proxy_set_header   Host             $host;\n             proxy_set_header   X-Forwarded-For        $remote_addr;\n        }\n        location / {\n            root   /data/nginx/edm/dist;\n            index  index.html index.htm;\n            error_page 404 /index.html;\n        }\n    }\nsystemctl start nginx.service\n\n\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famazingcoderpro%2Femail-distribution-management-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famazingcoderpro%2Femail-distribution-management-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famazingcoderpro%2Femail-distribution-management-system/lists"}