jobapis/jobs-to-mail

您个人的职位搜索助手。

安装: 57

依赖项: 0

建议者: 0

安全: 0

星标: 93

关注者: 10

分支: 38

公开问题: 13

类型:项目

1.2.0 2017-12-30 16:45 UTC

This package is auto-updated.

Last update: 2024-08-29 04:40:18 UTC


README

您个人的职位搜索助手

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

关于

JobsToMail 是一个开源的 Web 应用程序,允许用户通过 JobApis 项目支持的几个职位板之一注册接收职位电子邮件。用户可以免费在 jobs-to-mail.herokuapp.com 注册接收职位,或者使用下面的设置说明在自己的服务器上运行应用程序。

此应用程序基于 Laravel 5.5 构建,使用了 Jobs MultiJobs Common 包。前端使用 Bootstrap v4Gulp

使命

JobApis 通过开源软件使职位板和公司数据更加易于访问。要了解更多信息,请访问 JobApis.com,或通过 admin@jobapis.com 联系我们。

设置

需求

此应用程序仅设计用于与 PHP 7.0+ 和 Postgres 9.5+ 一起使用。可能存在一些向后兼容性,但目前在官方上不支持。

安装需要以下内容

本地安装

推荐安装方法是 Composer

  1. 使用 composer 创建一个新项目: 创建项目
composer create-project jobapis/jobs-to-mail
  1. .env.example 复制到 .env 并使用环境变量进行自定义。

  2. 运行 npm install && gulp 以构建前端。

  3. 运行内置的 Web 服务器以提供应用程序: php artisan serve

  4. localhost:8000 访问本地应用程序。

  5. 一旦至少有一个用户注册,您就可以运行职位收集和电子邮件命令: php artisan jobs:email

Docker 安装

在您安装并启动 Docker 之后

  1. 安装 composer 依赖项: docker run --rm -v $(pwd):/app composer:latest install

  2. .env.example 复制到 .env 并使用环境变量进行自定义。

  3. 运行 docker-compose build,然后运行 docker-compose up -d 以启动服务。

  4. 运行 npm install && node node_modules/.bin/gulp 以构建前端。

  5. 运行迁移: docker exec jobstomail_web_1 php artisan migrate

  6. 运行收集和电子邮件命令: docker exec jobstomail_web_1 php artisan jobs:email

您可以使用 docker exec jobstomail_web_1 vendor/bin/phpunit 运行测试。

Heroku 安装

  1. 使用一键部署到 Heroku 按钮: Deploy

  2. 部署后,您应该能够访问应用程序并看到主页。

  3. 通过运行 heroku run "php artisan key:generate --show" --app=j2m 设置应用程序密钥,并将显示的密钥添加到应用程序的配置变量中。

  4. 在Heroku调度器中添加一个作业,每晚运行php artisan jobs:email。这将确保用户能够收到他们的电子邮件。

服务器安装

附加要求

  1. 使用 composer 创建一个新项目: 创建项目
composer create-project jobapis/jobs-to-mail
  1. .env.example 复制到 .env 并使用环境变量进行自定义。

  2. 运行 npm install && gulp 以构建前端。

  3. 将NGINX指向服务于/public目录。您的NGINX配置块应类似于以下内容

server {
    listen       80;
    server_name  yourdomain.com;
    
    root   /home/user/jobs-to-mail/public;
    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}
  1. 确保PHP-FPM正在运行,并确保您的网站正在运行在您的域名上。

  2. 创建一个cron作业,每晚运行作业收集和通知过程:php artisan jobs:email

命令行

用户注册工作搜索后,收集工作和发送电子邮件所需的所有命令如下

php artisan jobs:email

此命令将遍历每个用户,根据他们的搜索条件收集工作,然后在列表编制完成后通过电子邮件发送给他们。

由于这项工作可能需要很长时间,最好使用工作器和通过cron作业在后台运行工作。有关在Heroku上设置此方法的说明见上文,但如果您遇到问题,可以在GitHub存储库的问题选项卡中提出问题。

您还可以在测试或调试时仅在系统中运行一个电子邮件地址的作业

php artisan jobs:email --email=karl@jobstomail.com

测试

测试使用PHPUnit运行。我们还使用Faker来生成伪造数据,并使用Mockery来模拟单元测试中的依赖项。

  • 运行所有测试
vendor/bin/phpunit

代码覆盖率报告会自动生成,并在运行测试套件后在/build目录中找到。

播种数据

如果您正在进行本地开发,您可能会发现使用一些测试数据对数据库进行播种很有用。使用Laravel的播种命令就可以做到这一点

  • 截断并播种数据库表
php artisan db:seed
  • 仅播种
php artisan db:seed --class=TestingDatabaseSeeder
  • 仅截断
php artisan db:seed --class=DatabaseTruncater

注意:截断是永久的,所以在生产环境中运行时要小心。

贡献

欢迎和鼓励贡献!请参阅JobApis的贡献指南以获取详细信息,或如果您有任何问题,请在GitHub中创建一个问题。

法律

免责声明

此软件包与任何职位板无关,也不受其支持,我们不对此软件的任何使用或误用负责。

许可证

此软件包使用Apache 2.0许可证。有关更多信息,请参阅许可证文件

版权

版权所有2016年,Karl L. Hughes