All Projects → jobapis → jobs-to-mail

jobapis / jobs-to-mail

Licence: other
Your personal job-search assistant

Programming Languages

PHP
23972 projects - #3 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to jobs-to-mail

awesome-sustainability-jobs
Dev jobs in the sustainability sector
Stars: ✭ 149 (+61.96%)
Mutual labels:  jobs, job-board, job-search
junior.guru
Learn to code and get your first job in tech 🐣
Stars: ✭ 27 (-70.65%)
Mutual labels:  jobs, job-board
permanently-remote
A list of tech companies going permanently remote after COVID-19
Stars: ✭ 61 (-33.7%)
Mutual labels:  job-board, job-search
vagas
Mural de vagas para desenvolvedor Android.
Stars: ✭ 748 (+713.04%)
Mutual labels:  jobs, job-board
collector
A job board data collector
Stars: ✭ 27 (-70.65%)
Mutual labels:  jobs, job-board
eleman
Fully dockerized static job board generator that uses Airtable as data source. Written with Python3.
Stars: ✭ 33 (-64.13%)
Mutual labels:  jobs, job-board
theeye-of-sauron
TheEye Dockers and QuickStart
Stars: ✭ 27 (-70.65%)
Mutual labels:  jobs
ECS-Phyllotaxis
Learning ECS - 100k Cubes in Phyllotaxis pattern
Stars: ✭ 17 (-81.52%)
Mutual labels:  jobs
vagas
🤝 Venha fazer parte do nosso time
Stars: ✭ 15 (-83.7%)
Mutual labels:  jobs
jobs
RoadRunner: Background PHP workers, Queue brokers
Stars: ✭ 59 (-35.87%)
Mutual labels:  jobs
spinach
Modern Redis task queue for Python 3
Stars: ✭ 46 (-50%)
Mutual labels:  jobs
ruby-jobs
Jobs for Ruby developers
Stars: ✭ 73 (-20.65%)
Mutual labels:  jobs
remote-jobs-client
Agregador de vagas de trabalho remoto para área de T.I e afins...
Stars: ✭ 68 (-26.09%)
Mutual labels:  jobs
chatbot-samples
🤖 聊天机器人,对话模板
Stars: ✭ 110 (+19.57%)
Mutual labels:  personal-assistant
flask-jobs
Flask-related job opportunities.
Stars: ✭ 74 (-19.57%)
Mutual labels:  jobs
frontend-developer-coding-challenge
Are your looking for a remote developer job? Solve this frontend developer challenge and show us what you can do and what you are an expert at!
Stars: ✭ 112 (+21.74%)
Mutual labels:  jobs
company-intro
We like to show case our engineering culture, from hiring to PR marketing.
Stars: ✭ 18 (-80.43%)
Mutual labels:  jobs
vagas
Espaço para a divulgação de vagas para desenvolvedores backend via issues do Github.
Stars: ✭ 5,685 (+6079.35%)
Mutual labels:  jobs
sepia-assist-server
Core server of the SEPIA Framework responsible for NLU, conversation, smart-service integration, user-accounts and more.
Stars: ✭ 81 (-11.96%)
Mutual labels:  personal-assistant
chronus
Chronus是360数科技术团队基于阿里开源项目TBSchedule重写的分布式调度。
Stars: ✭ 174 (+89.13%)
Mutual labels:  jobs

JobApis.com JobsToMail

Your personal job-search assistant

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

About

JobsToMail is an open source web application that allows users to sign up to receive emails with jobs from one of several job boards supported by the JobApis project. Users can sign up to receive jobs for free at jobs-to-mail.herokuapp.com or use the setup instructions below to run the application on their own server.

This application is built on Laravel 5.5 using the Jobs Multi and Jobs Common packages. The frontend uses Bootstrap v4 and Gulp.

Mission

JobApis makes job board and company data more accessible through open source software. To learn more, visit JobApis.com, or contact us at [email protected].

Setup

Requirements

This application is only designed to work with PHP 7.0+ and Postgres 9.5+. Some backwards compatibility may be possible, but is not officially supported at this time.

Installation requires the following:

Local installation

The recommended installation method is Composer.

  1. Use composer to create a new project:
composer create-project jobapis/jobs-to-mail
  1. Copy .env.example to .env and customize it with your environmental variables.

  2. Run npm install && gulp to build the frontend.

  3. Run the built-in web server to serve the application: php artisan serve.

  4. Visit the local application at localhost:8000.

  5. Once at least one user has signed up, you can run the job collection and email command: php artisan jobs:email.

Docker installation

After you've got Docker installed and running:

  1. Install composer dependencies: docker run --rm -v $(pwd):/app composer:latest install

  2. Copy .env.example to .env and customize it with your environmental variables.

  3. Run docker-compose build and then docker-compose up -d to get the services running.

  4. Run npm install && node node_modules/.bin/gulp to build the frontend.

  5. Run migrations: docker exec jobstomail_web_1 php artisan migrate.

  6. Run the collect and email command: docker exec jobstomail_web_1 php artisan jobs:email.

You can run tests with docker exec jobstomail_web_1 vendor/bin/phpunit.

Heroku installation

  1. Use the one-click Deploy to Heroku button: Deploy

  2. After it's deployed, you should be able to visit your app and see the home page.

  3. Set an application key by running heroku run "php artisan key:generate --show" --app=j2m and adding the key that is displayed to your app's config variables.

  4. Add a job in Heroku Scheduler to run php artisan jobs:email every night. This will ensure that users receive their emails.

Server installation

Additional Requirements

  1. Use composer to create a new project:
composer create-project jobapis/jobs-to-mail
  1. Copy .env.example to .env and customize it with your environmental variables.

  2. Run npm install && gulp to build the frontend.

  3. Point NGINX to serve to the /public directory. Your NGINX config block should look something like this:

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. Ensure that PHP-FPM is running, and ensure that your site is running at your domain.

  2. Create a cron job to run the job collection and notification process nightly: php artisan jobs:email.

Command Line

After users sign up for a job search, the only thing needed to collect jobs and send them emails is the following command:

php artisan jobs:email

This command will loop through each user, collect jobs based on their search criteria, and then email them when their list has been compiled.

Because this job search can take a long time, it is best to use a worker and run the job in the background (via cron job). Instructions for setting this up in Heroku are above, but if you have trouble, you can post a question to the Issues tab in the Github repository.

You can also run this job for only one email address in your system when testing or debugging:

php artisan jobs:email [email protected]

Testing

Tests are run using PHPUnit. We also employ Faker to help with producing fake data and Mockery to mock dependencies in unit tests.

  • Run all tests
vendor/bin/phpunit

Code coverage reports are automatically generated, and can be found in the /build directory after running the test suite.

Seeding data

If you're doing local development, you may find it handy to seed the database with some test data. Using Laravel's seed commands you can do just that:

  • Truncate and seed the database tables
php artisan db:seed
  • Seed only
php artisan db:seed --class=TestingDatabaseSeeder
  • Truncate only
php artisan db:seed --class=DatabaseTruncater

Note: Truncation is permanent, so be careful running this in your production environment.

Contributing

Contributions are welcomed and encouraged! Please see JobApis' contribution guidelines for details, or create an issue in Github if you have any questions.

Legal

Disclaimer

This package is not affiliated with or supported by any job boards and we are not responsible for any use or misuse of this software.

License

This package uses the Apache 2.0 license. Please see the License File for more information.

Copyright

Copyright 2016, Karl L. Hughes.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].