Skip to content

Embloy/Embloy-Core-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Ruby on Rails CI Codecov

This repository contains the source code for our server-side applications and API.

Note

If you're interested in finding out more or if you want to integrate Embloy into your system, check out the developer documentation at developers.embloy.com and API documentation at docs.embloy.com.

Services

Service Description Link Repository Language
Core-Server The main server application and API. api.embloy.com GitHub Ruby
Proxy-Server A simple proxy server for Embloy Quicklink. apply.embloy.com GitHub Go
Core-Client The client application for our user interface. www.embloy.com GitHub TypeScript
Genius-Client The client application for our recruiter dashboard. genius.embloy.com GitHub JavaScript
Developers The developer documentation. developers.embloy.com GitHub JavaScript
API-Docs The API documentation. docs.embloy.com GitHub Postman
Examples Example applications for Embloy integrations. examples.embloy.com GitHub Various
About-Page The about page for Embloy. about.embloy.com GitHub Imba

SDKs

SDK Link Repository Total Downloads
Embloy-Node npm version GitHub npm downloads
Embloy-Python PyPI version GitHub PyPI downloads
Embloy-Go Go Reference GitHub unavailable
Embloy-Ruby gem version GitHub Gem downloads
Embloy-Java Maven Central GitHub unavailable
Embloy-PHP Packagist Version GitHub Packagist downloads

Functionality Overview

Quicklink

With Quicklink you can integrate Embloy into your web service. What PayPal is for transactions, Embloy-Quicklink is for applications. We designed Quicklink to be as easy to use as possible, requiring minimal effort to be integrated on your job posting site. All you have to do is add the "Apply with EMBLOY" button to your client and add one Endpoint to your server and the rest is managed by Embloy. For more information, see the Quicklink documentation.

Genius-Queries

Embedding Embloy content on external platforms made ease. Create a new Genius-Query and upload it to your social media platform to direct new applicants directly to your Embloy job application. For more information, see the Genius-Queries documentation.

Application Proxy

The Application Proxy (see ./proxy) is designed as a simple proxy and cache node for Embloy Quicklink. It can be used to integrate Embloy without using a Server-SDK or embedding any code on a third party site, allowing the third party to direct to a generic URL (apply.embloy.com) which then proxies the Quicklink request by fetching a request and client token remotely. For more information, see the Application Proxy documentation.

Third-Party Integrations

For ATS-Providers that want to provide an Embloy integration, see: https://developers.embloy.com/docs/guides/get-started-partners/

For companies that want to integrate Embloy into their system, see: https://developers.embloy.com/docs/guides/get-started-integrations/

User Authentication

Users can set up an account with their email address and password, or choose to log in using the OAuth2.0 services provided by Google, GitHub, Microsoft and LinkedIn. Once an account is created, it needs to be verified by clicking on the email.

Passwords are instantly hashed using bcryt and stored in the database as a hash. In case a user forgets their password, it can be reset via standard email authentication.

To skip the verification process during applications new users can also verify their account by requesting a OTP via email.

For an optimal user experience, it is recommended to fill out the 'Preferences' field under 'My Profile'. To log into the application, users can use the aforementioned OAuth2.0 services or enter their password. If a user forgets their password, they can reset it by providing their email address and following the specified procedure in the email.

Subscriptions

Embloy partners with Stripe for simplified billing. Most Embloy services can be used for free, but for verification, the user needs to be subscribed to one of three subscription plans:

  • Embloy-Free
  • Embloy-Smart
  • Embloy-Genius

To create a company account and access all features, a user must be subscribed either to Embloy-Smart or Embloy-Genius. Subscriptions are per default on a monthly basis, but can be customized to be dependent on API use. For more information, see the subscription documentation.

Job Postings and Company Boards

Subscribed company users can create new job postings and, depending on the employer's liking, also define up to 50 customized questions as well as file and filetype requirements. This customization includes specifying whether an application option is required for the application, and if required, employers can also indicate their preferred file formats, and answers to ensure that the applications meet the employer's expectations.

A company can then publish a job board (e.g., embloy.com/en-US/board/embloy) allowing other users to view the job listings and apply for the positions.

Managing Applications for Available Jobs

The system is capable of managing jobs and applications, and notifying the employer when a new application is submitted via direct push notifications, as well as notifying the applicant when their application is accepted or rejected.

All notifications are sent via SMTP. Uploaded images and files are encrypted and stored GDPR compliant on Amazon S3 servers in Frankfurt, Germany.

Filtering of Available Jobs and Creating an "Intelligent" Feed

The job feed delivers personalized job recommendations based on the user's preferences and behavior. The user can also utilize our advanced search functionality, which includes comprehensive filtering and sorting options for direct job exploration.

Additionally, our interactive map interface, powered by the OpenStreetMap API, provides a visual overview of job opportunities.

How it Works

To get started, simply visit www.embloy.com and create a new account or log in with an existing account. It's that easy!

Running on Docker

Go into the project directory and run:
$ docker build -t embloy .
$ docker run -it -p 3000:3000 embloy

To deploy to docker-hub:
$ docker tag embloy:latest <docker-username>/<docker-repository>
$ docker push <docker-username>/<docker-repository>

Config

NOTE: You only need to follow these steps if you wish to contribute and need to test your changes locally

1. Prerequisites
  • Install Ruby 3.2.2

  • Install Rails 7

  • Install Postgresql 16

  • Open pgAdmin4

  • Add a new server

  1. Create a .env file with the content of .example.env
3. Start the server

If you wish to experiment on our backend or contribute to our front end, you can test your changes by starting a local server.

  1. Run $ rails db:create to create all necessary tables in your development database.
  2. Run $ rails db:migrate to migrate your changes to the database.
  3. Run $ rails server to start the server.
  4. Open your browser and navigate to localhost:3000 to view the application.
4. Setup Stripe webhook To enable subscriptions and Embloy Quicklink, make sure to have StripeCLI installed and have an active webhook:
./stripe listen --forward-to localhost:3000/pay/webhooks/stripe

License

Licensed under

GNU AFFERO GENERAL PUBLIC LICENSE v3.0 (agpl-3.0).

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by anyone, as defined in the GNU AFFERO GENERAL PUBLIC LICENSE v3.0 license, shall be licensed as above, without any additional terms or conditions.

What's next

See our GitHub issues for a list of known issues and planned features.


© Carlo Bortolan, Jan Hummel

Carlo Bortolan  ·  GitHub @carlobortolan  ·  contact via [email protected]

Jan Hummel  ·  GitHub @github4touchdouble  ·  contact via [email protected]