{"id":31240290,"url":"https://github.com/brni05/fastql","last_synced_at":"2026-05-06T03:35:12.639Z","repository":{"id":316041877,"uuid":"1061196264","full_name":"BrNi05/FaStQL","owner":"BrNi05","description":"An SQL CLI wrapper that turbocharges your workflow","archived":false,"fork":false,"pushed_at":"2025-09-22T11:24:14.000Z","size":79448,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-22T11:31:56.763Z","etag":null,"topics":["command-line","node","server","sql","sqlcl","terminal","webgui"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BrNi05.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-21T12:46:41.000Z","updated_at":"2025-09-22T11:24:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/BrNi05/FaStQL","commit_stats":null,"previous_names":["brni05/fastql"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/BrNi05/FaStQL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrNi05%2FFaStQL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrNi05%2FFaStQL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrNi05%2FFaStQL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrNi05%2FFaStQL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BrNi05","download_url":"https://codeload.github.com/BrNi05/FaStQL/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrNi05%2FFaStQL/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276486449,"owners_count":25651087,"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","status":"online","status_checked_at":"2025-09-22T02:00:08.972Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["command-line","node","server","sql","sqlcl","terminal","webgui"],"created_at":"2025-09-22T22:27:16.817Z","updated_at":"2026-05-06T03:35:12.623Z","avatar_url":"https://github.com/BrNi05.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FaStQL\n\n## Introduction\n\nFaStQL is a wrapper for the SQL command-line interface (`sqlcl`), designed to make working with it faster and more convenient.\n\nIts development is primarily aligned with the content and assignments of the [Adatbázisok](https://www.db.bme.hu/adatbazisok/) course at BME-VIK.\n\n---\n\n## Development\n\nYou can track the ongoing development [here](https://github.com/users/BrNi05/projects/4/views/1). If you encounter a bug or have a feature request, feel free to [open a ticket](https://github.com/BrNi05/FaStQL/issues).\n\nIf you’d like to get involved, you can [contribute](https://github.com/BrNi05/FaStQL/blob/main/.github/CONTRIBUTING.md) to the FaStQL project.\n\nYou can also check out the [Docker Hub repo](https://hub.docker.com/repository/docker/brni05/fastql/).\n\n\u003e [!IMPORTANT]\n\u003e On Windows, `node-pty` requires the Spectre Mitigations version of some build tools and libraries. More information can be found [here](https://learn.microsoft.com/en-us/cpp/build/reference/qspectre?view=msvc-160).\n\n---\n\n## How to set up\n\nFaStQL is currently distributed exclusively as a [Docker image](https://hub.docker.com/repository/docker/brni05/fastql/general), thus you will need to [install Docker](https://docs.docker.com/engine/install/) on your system.\n\nFaStQL supports all platforms that are compatible with Docker.\n\n\u003e [!TIP]\n\u003e Using Docker Desktop can simplify things on all platforms, even on Linux, where many users prefer the CLI.\n\n**Create a folder, then create the following files:**\n\n**docker-compose.yaml**\n\n```Dockerfile\nservices:\n  fastql:\n    container_name: FaStQL\n    image: brni05/fastql:latest\n    restart: unless-stopped\n    env_file:\n      - .env\n    network_mode: \"bridge\"\n    ports:\n      - \"${PORT}:${PORT}\"\n    logging:\n      driver: \"json-file\"\n      options:\n        max-size: \"10m\"\n        max-file: \"5\"\n    volumes:\n      - ./output:/fastql/output\n```\n\n**.env**\n\n```dotenv\n# The path to the installed sqlcl executable\n# The Docker image has sqlcl bundled at /fastql/external/sqlcl/bin/sql\nSQLCL_PATH=/fastql/external/sqlcl/bin/sql\n\n# The port on which the server (and the GUI) will be accessible\nPORT=3333\n```\n\nOpen a terminal in the folder you just created (this should be your current working directory).\n\nTo start FaStQL: `docker compose up -d`.\n\n\u003e [!TIP]\n\u003e The FaStQL image is relatively large due to technical constraints, so downloading it may take a bit longer than usual.\n\n\u003e [!TIP]\n\u003e You can view container logs using Docker Desktop.\n\nTo stop FaStQL: `docker compose down`.\n\n---\n\n## How to use\n\nIn your browser, visit: `http://localhost:3333/`. The FaStQL GUI will appear.\n\n\u003e [!TIP]\n\u003e You can use F11 to toggle fullscreen mode, but only when the terminal is not focused.\n\nIt will take a few seconds for `sqlcl` to start, but you should see the default startup output in a few seconds.\n\n\u003e [!IMPORTANT]\n\u003e Since FaStQL runs in a Docker container, a volume mount is needed to exchange data between the host and the container, which is done in the compose config.\n\u003e\n\u003e As soon as you start the container, a folder named `output` will appear in the CWD.\n\u003e\n\u003e The same folder exists in the container as well: `/fastql/output`.\n\u003e\n\u003e To avoid data loss, FaStQL always prepends `output/` to paths you input using the GUI.\n\n**Terminal:**\n\n- A psueod-terminal is rendered in the center of the screen with `sqlcl` already running.\n- You can open multiple FaStQL instances in separate windows, each providing a fresh terminal.\n\n\u003e [!TIP]\n\u003e Use `Ctrl + C` and `Ctrl + Shift + V` key combinations or the right-click menu to perform copy and paste actions. `Ctrl + V` is buggy (and does not paste) - avoid using it.\n\u003e\n\u003e `Ctrl + Shift + C` also triggers a copy action, but opens the browser inspector as well.\n\n**Top toolbar:**\n\n- **CONNECT**\n\n  - For the first time, enter your username and password.\n    - FaStQL will remember your credentials for future use - just press Enter or the **Connect** button the next time to auto-fill the fields.\n    - The connection string format is: `username/password@//rapid.eik.bme.hu:1521/szglab`.\n  - If the session expires (eg. due to inactivity) just press **Connect** again.\n\n- **RUN**\n\n  - Enter the path to the script you want to run, relative to the host `output` folder.\n  - If you leave the field empty, the placeholder path will be used by default (with `output/` prepended).\n  - You can omit the extension (`.sql`), FaStQL will append it.\n\n- **SPOOL**\n\n  - Spool: ✔ / ✖:\n    - ✖: spooling is currently disabled.\n    - Enter the path to the spool file you want to use, relative to the `output` folder. If the path (and/or file) does not exists, FaStQL will create it.\n    - If you leave the field empty, the placeholder path will be used by default.\n\n    - ✔: spooling is currently enabled - just press the button to disable it.\n\n- **COMPOSER**\n\n  - Use Composer to create and manage multi-line SQL commands. You can save them, load them, and execute them.\n\n\u003e [!TIP]\n\u003e Certain SQL commands require a commit to take effect in the database. To undo changes (before committing), use rollback. There are dedicated buttons for both actions.\n\n- **SCRIPTER**\n\n  - A [utility](https://db.bme.hu/files/szoftlab5/sql/oracle/sql123-beadando-generator.html) provided by [db.bme.hu](https://db.bme.hu) for creating SQL scripts required for submission on SQL1-2-3 labs.\n\n\u003e [!TIP]\n\u003e You can resize FaStQL sub-windows by dragging their bottom-right corner.\n\n- **CLEAR**\n\n  - This button clears the console.\n\n**Bottom toolbar:**\n\nThe bottom toolbar serves as a help menu, providing quick access to course materials and official sites for reference.\n\n\u003e [!TIP]\n\u003e To update FaStQL: `docker pull brni05/fastql:latest`, then restart the container.\n\n---\n\n## Technical details\n\n- The FaStQL image includes `sqlcl` (version 24.3.1) bundled within it and does not rely on any `sqlcl` installations on the host. This is one reason for the big image size.\n\n- FaStQL supports unlimited sessions, allowing you to open multiple windows that connect to the same database simultaneously.\n\n- FastQL is fully cross-platform.\n\n---\n\n## Legal\n\n`sqlcl` is licensed under the Oracle Free Use Terms and Conditions.\nThe full text of this license is published [here](https://www.oracle.com/downloads/licenses/oracle-free-license.html).\n\nThe SQL script generation functionality (`SCRIPTER`) utilizes resources provided by [db.bme.hu](https://db.bme.hu). The FaStQL project claims no ownership or credit.\n\nFaStQL (excluding `sqlcl`) is licensed under the [Apache 2.0 License](https://github.com/BrNi05/FaStQL/blob/main/LICENSE).\n\nThis project bundles Monaco Editor by Microsoft Corporation, licensed under the MIT License.\nA copy of the Monaco Editor license is available [here](https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrni05%2Ffastql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrni05%2Ffastql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrni05%2Ffastql/lists"}