#!/usr/bin/env ruby # frozen_string_literal: true require_relative '../lib/repoquest_server' require_relative '../lib/database/repoquest_db_connector' # Initialize database connector and run migrations db_connector = RepoQuestDBConnector.new db_connector.run_migrations # Initialize the RepoQuest server port = 8080 server = RepoQuest::Server.new(port, db_connector) # Signal handling for graceful shutdown Signal.trap('INT') do puts 'Received SIGINT. Shutting down...' EM.stop end Signal.trap('TERM') do puts 'Received SIGTERM. Shutting down...' EM.stop end # Start the server puts "Starting RepoQuest server on port #{port}..." server.start