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.
Service | Description | Link | Repository | Language |
---|---|---|---|---|
Core-Server | The main server application and API. | api.embloy.com | ||
Proxy-Server | A simple proxy server for Embloy Quicklink. | apply.embloy.com | ||
Core-Client | The client application for our user interface. | www.embloy.com | ||
Genius-Client | The client application for our recruiter dashboard. | genius.embloy.com | ||
Developers | The developer documentation. | developers.embloy.com | ||
API-Docs | The API documentation. | docs.embloy.com | ||
Examples | Example applications for Embloy integrations. | examples.embloy.com | ||
About-Page | The about page for Embloy. | about.embloy.com |
SDK | Link | Repository | Total Downloads |
---|---|---|---|
Embloy-Node | |||
Embloy-Python | |||
Embloy-Go | unavailable | ||
Embloy-Ruby | |||
Embloy-Java | unavailable | ||
Embloy-PHP |
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.
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.
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.
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/
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.
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.
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.
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.
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.
To get started, simply visit www.embloy.com and create a new account or log in with an existing account. It's that easy!
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>
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
- 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.
- Run
$ rails db:create
to create all necessary tables in your development database. - Run
$ rails db:migrate
to migrate your changes to the database. - Run
$ rails server
to start the server. - 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
GNU AFFERO GENERAL PUBLIC LICENSE v3.0 (agpl-3.0).
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.
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]