{"id":18651309,"url":"https://github.com/fallendeity/datacanvas","last_synced_at":"2025-04-11T15:31:14.535Z","repository":{"id":218761142,"uuid":"746841416","full_name":"FallenDeity/DataCanvas","owner":"FallenDeity","description":"A modern and responsive data visualization and management tool for the web","archived":false,"fork":false,"pushed_at":"2024-01-27T19:40:11.000Z","size":25184,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T15:11:07.373Z","etag":null,"topics":["docker","nextjs","postgresql","rdbms","typescript"],"latest_commit_sha":null,"homepage":"https://data-canvas.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FallenDeity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2024-01-22T19:24:19.000Z","updated_at":"2024-08-23T09:52:21.000Z","dependencies_parsed_at":"2024-01-27T20:35:13.104Z","dependency_job_id":null,"html_url":"https://github.com/FallenDeity/DataCanvas","commit_stats":null,"previous_names":["fallendeity/datacanvas"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FallenDeity%2FDataCanvas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FallenDeity%2FDataCanvas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FallenDeity%2FDataCanvas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FallenDeity%2FDataCanvas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FallenDeity","download_url":"https://codeload.github.com/FallenDeity/DataCanvas/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248431380,"owners_count":21102192,"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","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":["docker","nextjs","postgresql","rdbms","typescript"],"created_at":"2024-11-07T06:49:19.156Z","updated_at":"2025-04-11T15:31:09.523Z","avatar_url":"https://github.com/FallenDeity.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"./public/logo.png\" alt=\"Logo\" width=\"248\" height=\"248\"\u003e\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eDATA CANVAS\u003c/h1\u003e\n\u003ch4 align=\"center\"\u003eA modern and responsive data visualization and management tool for the web\u003c/h4\u003e\n\n# Features\n\n- [x] Modern and responsive UI\n- [x] Real time user and database logs and statistics\n- [x] Table Schema visualization and Management\n- [x] Online `SQL` query editor\n- [x] Graph Schema visualization\n- [x] API credentials for external applications\n- [x] Theme and Font customization\n- [x] Table Data Visualization and Management\n- [x] Export table data and schema as `CSV` and `PNG`\n\n# [Demo](https://www.youtube.com/watch?v=TfsA-Mpe7cg)\n\nHere is a video demo of the project:\n\nhttps://github.com/FallenDeity/DataCanvas/assets/61227305/0f280a79-9601-4bc1-8ef8-b7b75fa50e49\n\n# Screenshots\n\n| Home Page | Table Schema |\n| --- | --- |\n| ![Home Page](./assets/screenshots/home.png) | ![Table Schema](./assets/screenshots/tables.png) |\n| Graph Schema | Table Data |\n| ![Graph Schema](./assets/screenshots/schema.gif) | ![Schema](./assets/screenshots/schema.png) |\n| SQL Editor | Settings |\n| ![SQL Editor](./assets/screenshots/editor.png) | ![Settings](./assets/screenshots/settings.png) |\n\n# Installation\n\n## Manual\n\n```bash\ngit clone https://github.com/FallenDeity/DataCanvas\ncd DataCanvas\nnpm install\n```\n\nAfter installing the dependencies, you need to create a `.env` file in the root directory of the project and add the following variables:\n\n```bash\nGITHUB_ID=\nGITHUB_SECRET=\nGOOGLE_ID=\nGOOGLE_SECRET=\nEMAIL_SERVER_HOST=\nEMAIL_SERVER_PORT=\nEMAIL_SERVER_USER=\nEMAIL_SERVER_PASSWORD=\nEMAIL_SERVER_CLIENT_ID=\nEMAIL_SERVER_CLIENT_SECRET=\nEMAIL_SERVER_REFRESH_TOKEN=\nEMAIL_FROM=\nNEXTAUTH_URL=\nNEXTAUTH_SECRET=\nNEXT_PUBLIC_BASE_URL=\nDATABASE_USER=\nNEXT_PUBLIC_DATABASE_HOST=\nNEXT_PUBLIC_DATABASE_PORT=\nDATABASE_URL=\n```\n\nProject requires a `PostgreSQL` database to run. You can either use a local database or a remote one. If you are looking for a free remote database, you can use the following services:\n\n- [ElephantSQL](https://www.elephantsql.com/)\n- [Render](https://render.com/)\n\nAfter setting up the database, you need to run the sql file present in `src/bin/tables.sql` to create the required tables. You can use the following command to run the sql file:\n\n```bash\npsql -U \u003cusername\u003e -d \u003cdatabase_name\u003e\n\\i ./src/bin/tables.sql\n```\n\nFinally, you can run the project with the following command:\n\n```bash\nnpm run start\n```\n\n## Docker\n\nThe project can also be run using `docker-compose`. To run the project using `docker-compose`, you need to create a `.env` file in the root directory of the project and add above mentioned variables.\n\nSet the following additional variables in the `.env` file:\n\n```bash\nPGPASSWORD= # Database password\nPGDATABASE= # Database name\n```\n\nThis is required to spin up the database container. You don't need to create the database manually as it will be created automatically by the database container.\n\nTo run the project using `docker-compose`, you can use the following command:\n\n```bash\ndocker compose up production --build\n```\n\nTo create the required tables, you can use the following command:\n\n```bash\ncat ./src/bin/tables.sql | docker exec -i datacanvas_db psql -U \u003cDATABASE_USER\u003e -d \u003cPGDATABASE\u003e\n```\n\n# Contributing\n\nContributions are always welcome! Feel free to open any issues or send pull requests.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffallendeity%2Fdatacanvas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffallendeity%2Fdatacanvas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffallendeity%2Fdatacanvas/lists"}