diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..738034c --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Agnostic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index cf8f855..560822d 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,83 @@ # agx -wip +***agx*** is a desktop application built with Tauri and SvelteKit that provides a modern interface for exploring and querying data using ClickHouse's embedded database engine (chdb). -## how to +## Features +- Native desktop application performance with web technologies +- Interactive SQL query editor with syntax highlighting +- Schema browser for exploring data structure +- Results displayed in a tabular format +- Support for drag & drop file operations +- Cross-platform compatibility (macOS, Linux, Windows) + +## Prerequisites + +- Node.js (v16 or later) +- Rust toolchain +- System dependencies for Tauri + +## Getting Started + +1. Clone the repository: +```bash +git clone https://github.com/agnosticeng/agx +cd agx ``` + +2. Download and setup chdb library: +```bash ./src-tauri/update_libchdb.sh ``` +3. Install dependencies: +```bash +npm install ``` -npm i + +4. Run in development mode: +```bash npm run tauri dev ``` + +5. Build for production: +```bash +npm run tauri build +``` + +## Project Structure + +``` +agx/ +├── src/ # Frontend source code (SvelteKit) +│ ├── lib/ # Shared components +│ └── routes/ # Application routes +├── src-tauri/ # Backend source code (Rust) +│ ├── src/ # Rust source files +│ └── Cargo.toml # Rust dependencies +├── package.json # Node.js dependencies +└── README.md +``` + +## Development + +- The frontend is built with SvelteKit, offering a reactive and efficient UI +- The backend uses Tauri with Rust, providing native performance and security +- Communication between frontend and backend happens through Tauri's IPC bridge +- Data querying is handled by chdb, an embedded ClickHouse engine + +## Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +## License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. + +The MIT License is one of the most popular open-source licenses because it: +- Is simple and permissive +- Allows commercial use +- Allows modification and distribution +- Allows private use +- Has minimal restrictions +- Is compatible with many other licenses