San Pedro Valley Jobs - Beta
Este é o repositório do novo Job Board de San Pedro Valley
Veja funcionando em jobs.sanpedrovalley.org
Requerimentos
- Ruby 2.3.0
- Rails 4.2.5.2
- Elasticsearch (Searchkick)
- Sidekiq (Opcional)
- Mailgun (Free no heroku)
Como funciona
Qualquer pessoa pode cadastrar um job no aplicativo, porém apenas adminstradores podem aprovar ou reprovar um job.
Ao cadastrar um job, o adminstrador recebe um e-mail com dois links: Aprovar ou Reprovar, e os dados do job no corpo do e-mail.
O adminstrador poderá também aprovar, reprovar e remover jobs no dashboard dentro da plataforma, protegida por login. Utilizamos o devise
para authenticação.
O autor da vaga poderá remove-la a qualquer momento informando o e-mail de cadastro do job. Ao solicitar a remoção da vaga o mesmo receberá um e-mail com o link para remover o job do site.
A busca de jobs é realizada utilizando o elasticsearch
e os e-mail são enviados em background pelo sidekiq
.
Um usuário adminstrador é criado ao rodar o seed com rake db:seed
- Não se esqueça de fazer o passo 4 do guia abaixo para funcionar.
Para discussões relacionadas ao projeto, é utilizado o gitter que disponibiliza um chat em tempo real.
Começando
Pré-requisitos: Instale o Elasticsearch e o Sidekiq. PS: Atualmente utilizamos o sidekiq apenas para enviar os e-mails.
-
Clone o repositório:
$ git clone git://github.com/hugodias/san-pedro-valley-jobs.git
-
Vá para pasta do projeto:
$ cd san-pedro-valley-jobs
-
Instale todas as gems:
$ bundle install
-
Duplique o arquivo
.env.example
na raiz do projeto:cp .env.example .env
-
Crie as tabelas:
$ rake db:create && rake db:migrate && rake db:seed
-
E finalmente rode:
$ rails s
-
Opcional: utilize heroku local para ligar o server e iniciar o sidekiq
$ heroku local
Deploy
A aplicação já está preparada para para fazer o deploy para o heroku sem nenhuma alteração adicional.
Addons necessários no heroku:
- Bonsai Elasticsearch (Ou algum outro de Elasticsearch)
- Postgres
- Redis To Go (Para o sidekiq)
- Mailgun/Sandgrid/Mandril
Não se esqueça de habilitar ao menos 1 worker no painel do heroku para que o sidekiq funcione corretamente.
Contribuindo
Quer ajudar? Excelente! O primeiro passo é procurar issues com a tag help wanted no github.
Não tem nada lá? Não tem problema, porque como você sabe, Software has bugs. This is normal. Encontrou um Bug? A casa é sua, fique a vontade, a geladeira é ali ó.
Se quiser enviar um pull request, por favor faça-o na branch dev
.
master
contém a versão estável do projeto.dev
contém as funcionalidades que estão em desenvolvimento.
Tenha certeza que sua pull-request está bem testada, de preferência com testes unitários e de integração (Veja a pasta specs/features)
Para garantir a qualidade, é utilizado um guia de estilos, boas práticas e má praticas. Essa garantia é monitorada pelo Code Climate e pelo houndci. O Code Climate checa por má práticas de programação em relação a estrutura do código enquanto que o Houndci checa má práticas na sintaxe do código, isto é, se a leitura do mesmo não é demasiada complicada.