{"id":25972056,"url":"https://github.com/embloy/embloy-core-server","last_synced_at":"2026-02-18T18:32:20.664Z","repository":{"id":280715584,"uuid":"605851863","full_name":"Embloy/Embloy-Core-Server","owner":"Embloy","description":"Repository containing the Embloy-Core API and associated services.","archived":false,"fork":false,"pushed_at":"2025-03-04T22:45:15.000Z","size":26811,"stargazers_count":2,"open_issues_count":12,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-04T23:30:28.741Z","etag":null,"topics":["postgis","postgres","rails","rails-api","rails7","ruby-on-rails"],"latest_commit_sha":null,"homepage":"https://www.embloy.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Embloy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-24T03:05:52.000Z","updated_at":"2025-02-03T01:43:30.000Z","dependencies_parsed_at":"2025-03-04T23:31:10.259Z","dependency_job_id":"fef9bfe5-5ba7-4379-b5d8-75a36ca0d065","html_url":"https://github.com/Embloy/Embloy-Core-Server","commit_stats":null,"previous_names":["embloy/embloy-core-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Embloy%2FEmbloy-Core-Server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Embloy%2FEmbloy-Core-Server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Embloy%2FEmbloy-Core-Server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Embloy%2FEmbloy-Core-Server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Embloy","download_url":"https://codeload.github.com/Embloy/Embloy-Core-Server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241940881,"owners_count":20045952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["postgis","postgres","rails","rails-api","rails7","ruby-on-rails"],"created_at":"2025-03-05T00:18:57.175Z","updated_at":"2025-10-12T20:43:21.909Z","avatar_url":"https://github.com/Embloy.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Ruby on Rails CI](https://github.com/Embloy/Embloy-Core-Server/actions/workflows/rubyonrails.yml/badge.svg)](https://github.com/Embloy/Embloy-Core-Server/actions/workflows/rubyonrails.yml) ![Codecov](https://img.shields.io/codecov/c/github/embloy/embloy-core-server)\n\n\u003ch1\u003e\u003ca href=\"https://embloy.com\"\u003eEmbloy Core Server\u003c/a\u003e\u003c/h1\u003e\n\nThis repository contains the source code for our server-side applications and API.\n\n\u003e [!note]\n\u003e If you're interested in finding out more or if you want to integrate Embloy into your system, check out the\n\u003e developer documentation at **_[developers.embloy.com](developers.embloy.com)_** and API documentation at **_[docs.embloy.com](docs.embloy.com)_**.\n\n## Services\n\n| Service                  | Description                                         | Link                                                   | Repository                                                                                                            | Language                                                                                                                   |\n| ------------------------ | --------------------------------------------------- | ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |\n| **Core-Server**   | The main server application and API.                | [api.embloy.com](https://api.embloy.com)               | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-core-server)   | ![Ruby](https://img.shields.io/badge/Ruby-CC342D?logo=ruby\u0026logoColor=white)                                               |\n| **Proxy-Server**  | A simple proxy server for Embloy Quicklink.         | [apply.embloy.com](https://apply.embloy.com)           | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-core-server/proxy)  | ![Go](https://img.shields.io/badge/Go-00add8?logo=go\u0026logoColor=white)                                                     |\n| **Core-Client**   | The client application for our user interface.      | [www.embloy.com](https://www.embloy.com)               | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-core-client)   | ![TypeScript](https://img.shields.io/badge/TypeScript-3178c6?logo=typescript\u0026logoColor=white)                              |\n| **Genius-Client** | The client application for our recruiter dashboard. | [genius.embloy.com](https://genius.embloy.com)         | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-genius-client) | ![JavaScript](https://img.shields.io/badge/TypeScript-3178c6?logo=typescript\u0026logoColor=white)                              |\n| **Developers**    | The developer documentation.                        | [developers.embloy.com](https://developers.embloy.com) | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-developers)    | ![JavaScript](https://img.shields.io/badge/JavaScript-f1e05a?logo=javascript\u0026logoColor=black)                              |\n| **API-Docs**          | The API documentation.                              | [docs.embloy.com](https://docs.embloy.com)             | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-api-collections)          | ![Postman](https://img.shields.io/badge/Postman-FF6C37?logo=postman\u0026logoColor=white)                                       |\n| **Examples**      | Example applications for Embloy integrations.       | [examples.embloy.com](https://examples.embloy.com)     | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-examples)      | ![Various](https://img.shields.io/badge/Various-000000?logo=github\u0026logoColor=white)                                        |\n| **About-Page**         | The about page for Embloy.                          | [about.embloy.com](https://about.embloy.com)           | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-website)         | ![Imba](https://img.shields.io/badge/Imba-14c1ba?logo=imba\u0026logoColor=white) |\n\n## SDKs\n\n| SDK                   | Link                                                                                                                                       | Repository                                                                                                     | Total Downloads                                                                                                                                  |\n| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |\n| **Embloy-Node**   | [![npm version](https://img.shields.io/npm/v/embloy.svg?style=flat)](https://www.npmjs.com/package/embloy-node)                            | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-node)   | [![npm downloads](https://img.shields.io/npm/dt/embloy.svg?style=flat)](https://www.npmjs.com/package/embloy-node)                               |\n| **Embloy-Python** | [![PyPI version](https://img.shields.io/pypi/v/embloy-sdk.svg?style=flat)](https://pypi.org/project/embloy-python)                         | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-python) | [![PyPI downloads](https://img.shields.io/pypi/dm/embloy-sdk.svg?style=flat)](https://pypi.org/project/embloy-python)                            |\n| **Embloy-Go**     | [![Go Reference](https://pkg.go.dev/badge/github.com/embloy/embloy-go.svg)](https://pkg.go.dev/github.com/embloy/embloy-go)                | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-go)     | _unavailable_                                                                                                                                    |\n| **Embloy-Ruby**   | [![gem version](https://img.shields.io/gem/v/embloy.svg?style=flat)](https://rubygems.org/gems/embloy)                                     | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-ruby)   | [![Gem downloads](https://img.shields.io/gem/dt/embloy.svg?style=flat)](https://rubygems.org/gems/embloy)                                        |\n| **Embloy-Java**   | [![Maven Central](https://img.shields.io/maven-central/v/com.embloy/sdk.svg?style=flat)](https://search.maven.org/artifact/com.embloy/sdk) | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-java)   | _unavailable_                                                                                                                                    |\n| **Embloy-PHP**    | [![Packagist Version](https://img.shields.io/packagist/v/embloy/embloy-php.svg)](https://packagist.org/packages/embloy/embloy-php)         | [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)](https://github.com/embloy/embloy-php)    | [![Packagist downloads](https://img.shields.io/packagist/dt/embloy/embloy-php.svg?style=flat)](https://packagist.org/packages/embloy/embloy-php) |\n\n## Functionality Overview\n\n### Quicklink\n\nWith 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.\nFor more information, see the [Quicklink documentation](https://developers.embloy.com/docs/category/quicklink).\n\n### Genius-Queries\n\nEmbedding 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](https://developers.embloy.com/docs/category/genius).\n\n### Application Proxy\n\nThe Application Proxy (see [./proxy](./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](https://developers.embloy.com/docs/application-proxy).\n\n### Third-Party Integrations\n\nFor ATS-Providers that want to provide an Embloy integration, see: https://developers.embloy.com/docs/guides/get-started-partners/\n\nFor companies that want to integrate Embloy into their system, see: https://developers.embloy.com/docs/guides/get-started-integrations/\n\n### User Authentication\n\nUsers can set up an account with their email address and password, or choose to log in using the OAuth2.0 services\nprovided by Google, GitHub, Microsoft and LinkedIn. Once an account is created, it needs to be verified by clicking on the email.\n\nPasswords are instantly hashed using [bcryt](https://en.wikipedia.org/wiki/Bcrypt) and stored in the database as a\nhash. In case a user forgets their password, it can be reset via standard email authentication.\n\nTo skip the verification process during applications new users can also verify their account by requesting a OTP via email.\n\nFor an optimal user experience, it is recommended to fill out the 'Preferences' field under 'My Profile'.\nTo log into the application, users can use the aforementioned OAuth2.0 services or enter their password.\nIf a user forgets their password, they can reset it by providing their email address and following the specified\nprocedure in the email.\n\n### Subscriptions\n\nEmbloy 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:\n\n- Embloy-Free\n- Embloy-Smart\n- Embloy-Genius\n\nTo create a company account and access all features, a user must be subscribed either to Embloy-Smart or Embloy-Genius.\nSubscriptions are per default on a monthly basis, but can be customized to be dependent on API use. For more information, see the [subscription documentation](https://developers.embloy.com/docs/category/subscriptions).\n\n### Job Postings and Company Boards\n\nSubscribed 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.\nThis 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.\n\nA company can then publish a job board (e.g., [embloy.com/en-US/board/embloy](https://www.embloy.com/en-US/board/embloy)) allowing other users to view the job listings and apply for the positions.\n\n### Managing Applications for Available Jobs\n\nThe 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.\n\nAll notifications are sent via [SMTP](https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol).\nUploaded images and files are encrypted and stored GDPR compliant on Amazon S3 servers in Frankfurt, Germany.\n\n### Filtering of Available Jobs and Creating an \"Intelligent\" Feed\n\nThe job feed delivers personalized job recommendations based on the user's preferences and behavior.\nThe user can also utilize our advanced search functionality, which includes comprehensive filtering and sorting options\nfor direct job exploration.\n\nAdditionally, our interactive map interface, powered by the [OpenStreetMap API](https://www.openstreetmap.org), provides\na visual overview of job opportunities.\n\n## How it Works\n\nTo get started, simply visit [www.embloy.com](http://embloy.com/) and create a new account or log in with an existing\naccount. It's that easy!\n\n## Running on Docker\n\nGo into the project directory and run: \\\n`$ docker build -t embloy .`\\\n`$ docker run -it -p 3000:3000 embloy `\n\nTo deploy to docker-hub: \\\n`$ docker tag embloy:latest \u003cdocker-username\u003e/\u003cdocker-repository\u003e`\\\n`$ docker push \u003cdocker-username\u003e/\u003cdocker-repository\u003e`\n\n## Config\n\n\u003e **NOTE**: _You only need to follow these steps if you wish to contribute and need to test your changes locally_\n\n\u003cdetails\u003e\n  \u003csummary\u003e 1. Prerequisites \u003c/summary\u003e\n\n- Install Ruby 3.2.2\n\n- Install Rails 7\n\n- Install Postgresql 16\n\n- Open pgAdmin4\n\n- Add a new server\n\n\u003c/details\u003e\n\n2. Create a `.env` file with the content of `.example.env`\n\n\u003cdetails\u003e\n  \u003csummary\u003e 3. Start the server \u003c/summary\u003e\n\n  If you wish to experiment on our backend or contribute to our front end, you can test your changes by starting a local\n  server.\n\n  1. Run `$ rails db:create` to create all necessary tables in your development database.\n  2. Run `$ rails db:migrate` to migrate your changes to the database.\n  3. Run `$ rails server` to start the server.\n  4. Open your browser and navigate to `localhost:3000` to view the application.\n\n\u003c/details\u003e\n\n\n\u003cdetails\u003e\n  \u003csummary\u003e 4. Setup Stripe webhook \u003c/summary\u003e\n  To enable subscriptions and Embloy Quicklink, make sure to have StripeCLI installed and have an active webhook:\n  \n  ```Bash\n  ./stripe listen --forward-to localhost:3000/pay/webhooks/stripe\n  ```\n\n\u003c/details\u003e\n\n## License\n\n### Licensed under\n\n\u003e GNU AFFERO GENERAL PUBLIC LICENSE v3.0 ([agpl-3.0](https://www.gnu.org/licenses/agpl-3.0.en.html)).\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by anyone, as\ndefined in the GNU AFFERO GENERAL PUBLIC LICENSE v3.0 license, shall be licensed as above, without any additional terms\nor conditions.\n\n## What's next\n\nSee [our GitHub issues](https://github.com/embloy/embloy-core-server/issues) for a list of known issues and planned features.\n\n---\n\n© Carlo Bortolan, Jan Hummel\n\n\u003e Carlo Bortolan \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e GitHub [@carlobortolan](https://github.com/carlobortolan) \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e contact via [bortolanoffice@embloy.com](mailto:bortolanoffice@embloy.com)\n\u003e\n\u003e Jan Hummel \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e GitHub [@github4touchdouble](https://github.com/github4touchdouble) \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e contact via [hummeloffice@embloy.com](mailto:hummeloffice@embloy.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fembloy%2Fembloy-core-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fembloy%2Fembloy-core-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fembloy%2Fembloy-core-server/lists"}