Skip to content

Bluetab/td-se

Repository files navigation

Truedat Search Engine

td-se is a back-end service developed as part of Truedat project that provides API's for generic Search functionality

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Install dependencies with mix deps.get

To start your Phoenix server:

Installing

  • Create and migrate your database with mix ecto.create && mix ecto.migrate
  • Start Phoenix endpoint with mix phx.server
  • The td-se API is published on localhost:4006

Running the tests

Run all aplication tests with mix test

Environment variables

Elixir's Logger

  • EX_LOGGER_FORMAT: :logger application format configuration
    • defaults to "$date\T$time\Z [$level] $metadata$message"

Guardian

  • GUARDIAN_SECRET_KEY: guardian salt for the authentication JWT token

Redis connection

  • REDIS_HOST: Host
  • REDIS_PORT: Port
  • REDIS_PASSWORD: Password

ElasticSearch

  • ES_URL: Service URL (Must be https for SSL connections)

(Optional) Basic HTTP authentication

These environment variables will add the Authentication header on each request with value Basic <ES_USERNAME>:<ES_PASSWORD>

  • ES_USERNAME: Username
  • ES_PASSWORD: Password

(Optional) ApiKey authentication

This environment variables will add the Authentication header on each request with value ApiKey <ES_API_KEY>

  • ES_API_KEY: ApiKey

(Optional) HTTP SSL Configuration (Normally required for ApiKey authentication)

These environment variables will configure CA Certificates for HTTPS requests

  • ES_SSL: [true | false] required to activate following options
  • ES_SSL_CACERTFILE: (Optional) Indicate the cacert file path. If not set, a certfile will be automatically generated by :certifi.cacertfile()
  • ES_SSL_VERIFY: (Optional) [verify_peer | verify_none] defaults to verify_none

Authors

  • Bluetab Solutions Group, SL - Initial work - Bluetab

See also the list of contributors who participated in this project.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

In order to use this software, it is necessary that, depending on the type of functionality that you want to obtain, it is assembled with other software whose license may be governed by other terms different than the GNU General Public License version 3 or later. In that case, it will be absolutely necessary that, in order to make a correct use of the software to be assembled, you give compliance with the rules of the concrete license (of Free Software or Open Source Software) of use in each case, as well as, where appropriate, obtaining of the permits that are necessary for these appropriate purposes.

About

/truedat Search Engine back-end service

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages