Skip to content

Commit

Permalink
Merge pull request #77 from yeri918/main-dl
Browse files Browse the repository at this point in the history
[main-dl to main] Add prettier and eslint, update readme.md
  • Loading branch information
yeri918 authored Oct 26, 2024
2 parents 1314c56 + 28134ab commit 2b9f194
Show file tree
Hide file tree
Showing 8 changed files with 179 additions and 143 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Deploy on Merge to Main
name: Main

on:
push:
Expand Down
29 changes: 18 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,39 @@
# DuckDB-Grid

[![Main](https://github.com/yeri918/duckdb-grid/actions/workflows/deployment.yaml/badge.svg)](https://github.com/yeri918/duckdb-grid/actions/workflows/deployment.yaml)
![GitHub commit activity](https://img.shields.io/github/commit-activity/y/yeri918/duckdb-grid)

Started off for fun, and here we are!
Please check out https://yeri918.github.io/duckdb-grid/ or https://dinogrid-alpha.netlify.app/.

## Contributors
- @dominic-lcw
- @yeri918

- [@dominic-lcw](https://www.github.com/dominic-lcw)
- [@yeri918](https://www.github.com/yeri918)

## Description

Inspired by the capabilities of [duckdb-wasm](https://github.com/duckdb/duckdb-wasm) and [AG Grid](https://www.ag-grid.com/), we wanted to address the growing demand for efficient handling of large tabular datasets. This grid leverages browser-side rendering, enabling fast computation and seamless user interactions with big data directly in the web environment.

## DuckDB-Grid Features

### 🐤 Try dropping your CSV or XLSX files

- Load your file with browser rendering.
<img width="668" alt="Screenshot 2024-10-06 at 9 40 56 PM" src="https://github.com/user-attachments/assets/35e93a78-3aeb-4e42-827a-d4e0d6d05ae3">
<img width="668" alt="Screenshot 2024-10-06 at 9 40 56 PM" src="https://github.com/user-attachments/assets/35e93a78-3aeb-4e42-827a-d4e0d6d05ae3">

### 🐤 Grouping

- Drag the columns to "Row Groups" of the sidebar on the right.
- Numeric columns automatically get "sum"ed up. (Can also change the value aggregation to max/min/...)
<img width="1544" alt="Screenshot 2024-10-06 at 9 35 32 PM" src="https://github.com/user-attachments/assets/55162027-4a38-49a8-9d7d-f667d130f81c">
<img width="1544" alt="Screenshot 2024-10-06 at 9 35 32 PM" src="https://github.com/user-attachments/assets/55162027-4a38-49a8-9d7d-f667d130f81c">

### 🐤 Filtering
- "Filter Equal" to the corresponding cell will filter rows with the selected cell.
<img width="1546" alt="Screenshot 2024-10-06 at 9 37 20 PM" src="https://github.com/user-attachments/assets/56f1020a-249a-4f89-87be-9a0e910b9eea">

### 🐤 Filtering for SQL Enthusiasts
- Type your own WHERE clause.
<img width="1559" alt="Screenshot 2024-10-06 at 9 43 27 PM" src="https://github.com/user-attachments/assets/487ad16a-d287-4c95-b962-b7c33bc2752a">


- "Filter Equal" to the corresponding cell will filter rows with the selected cell.
<img width="1546" alt="Screenshot 2024-10-06 at 9 37 20 PM" src="https://github.com/user-attachments/assets/56f1020a-249a-4f89-87be-9a0e910b9eea">

### 🐤 Filtering for SQL Enthusiasts

- Type your own WHERE clause.
<img width="1559" alt="Screenshot 2024-10-06 at 9 43 27 PM" src="https://github.com/user-attachments/assets/487ad16a-d287-4c95-b962-b7c33bc2752a">
40 changes: 0 additions & 40 deletions app/.eslintrc.cjs

This file was deleted.

5 changes: 5 additions & 0 deletions app/.prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"tabWidth": 2,
"singleQuote": false,
"trailingComma": "all"
}
29 changes: 29 additions & 0 deletions app/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import globals from "globals";
import pluginJs from "@eslint/js";
import tseslint from "typescript-eslint";
import pluginReact from "eslint-plugin-react";

// eslint.config.mjs
const eslintPluginPrettierRecommended = require('eslint-plugin-prettier/recommended');

export default [
{files: ["**/*.{js,mjs,cjs,ts,jsx,tsx}"]}, // rules applies to all matching files.
{languageOptions: { globals: globals.browser }}, // extends the global variables available in the linting environment
// to include those specific to a browser environment
pluginJs.configs.recommended, // default js rules
...tseslint.configs.recommended, // default ts rules
pluginReact.configs.flat.recommended,
eslintPluginPrettierRecommended,

{
rules: {
eqeqeq: "off",
"no-unused-vars": "error",
"prefer-const": ["error", { ignoreReadBeforeAssign: true }],
},
},

{
ignores: [".node_modules/*"]
},
];
Loading

0 comments on commit 2b9f194

Please sign in to comment.