Go to file
caoxing 6f5754272e
test: update e2e config (#266)
* test: update e2e config

* chore: remove console and distinguish unit and e2e cache dir

* chore: ignore test file hot reload
2023-11-28 18:04:42 +08:00
.changeset chore: change project links details 2022-11-01 18:06:18 +08:00
.github feat/link-editor (#249) 2023-11-09 22:48:45 +08:00
.husky feat: move to pnpm (#202) 2023-10-18 12:20:19 +08:00
.idea feat: records support filter (#74) 2023-07-27 14:05:23 +08:00
.vscode test: update e2e config (#266) 2023-11-28 18:04:42 +08:00
apps test: update e2e config (#266) 2023-11-28 18:04:42 +08:00
dockers fix: postgres filter query (#248) 2023-11-09 15:29:22 +08:00
docs feat: move to pnpm (#202) 2023-10-18 12:20:19 +08:00
packages fix: fetch row count error in postgres (#269) 2023-11-28 16:39:05 +08:00
scripts fix: aggregation & chore: upgrade dependencies (#236) 2023-11-01 16:52:17 +08:00
static/assets chore: replace new asserts (#132) 2023-08-11 14:39:09 +08:00
.codeclimate.yml chore: initialize project 2022-11-01 17:36:07 +08:00
.dockerignore feat: move to pnpm (#202) 2023-10-18 12:20:19 +08:00
.gitattributes fix: electron install mac bg (#103) 2023-07-27 11:41:58 +08:00
.gitignore feat: move to pnpm (#202) 2023-10-18 12:20:19 +08:00
.gitpod.yml feat: allow embed share view into iframe (#257) 2023-11-17 18:17:27 +08:00
.ncurc.yml fix: postgres filter query (#248) 2023-11-09 15:29:22 +08:00
.npmrc build: add nestjs webpack config (#259) 2023-11-21 15:57:04 +08:00
.nvmrc fix: aggregation & chore: upgrade dependencies (#236) 2023-11-01 16:52:17 +08:00
.prettierignore chore: initialize project 2022-11-01 17:36:07 +08:00
.prettierrc.js chore: initialize project 2022-11-01 17:36:07 +08:00
.vercelignore chore: initialize project 2022-11-01 17:36:07 +08:00
cache.config.js test: update e2e config (#266) 2023-11-28 18:04:42 +08:00
CHANGELOG.md feat: use localstorage, improve dev exp (#11) 2022-12-01 13:54:01 +08:00
CODE_OF_CONDUCT.md chore: initialize project 2022-11-01 17:36:07 +08:00
commitlint.config.js chore: initialize project 2022-11-01 17:36:07 +08:00
constraints.pro chore: initialize project 2022-11-01 17:36:07 +08:00
CONTRIBUTING.md refactor: rename ts-utils to core 2022-12-13 14:45:46 +08:00
DEVELOPER.md fix: postgres filter query (#248) 2023-11-09 15:29:22 +08:00
LICENSE chore: initialize project 2022-11-01 17:36:07 +08:00
lint-staged.common.js chore: initialize project 2022-11-01 17:36:07 +08:00
lint-staged.config.js chore: change project links details 2022-11-01 18:06:18 +08:00
Makefile feat: link options editor support new relationship (#263) 2023-11-26 12:51:07 +08:00
monorepo.code-workspace build: add nestjs webpack config (#259) 2023-11-21 15:57:04 +08:00
package.json fix: postgres filter query (#248) 2023-11-09 15:29:22 +08:00
pnpm-lock.yaml feat: support share grid view (#264) 2023-11-28 11:09:51 +08:00
pnpm-workspace.yaml feat: move to pnpm (#202) 2023-10-18 12:20:19 +08:00
Procfile build: production docker image (#112) 2023-07-31 19:34:16 +08:00
railway.toml chore: update railway config 2023-11-23 20:59:37 +08:00
README.md build: add nestjs webpack config (#259) 2023-11-21 15:57:04 +08:00
renovate.json5 chore: initialize project 2022-11-01 17:36:07 +08:00
TROUBLESHOOT.md chore: initialize project 2022-11-01 17:36:07 +08:00
tsconfig.base.json fix: docker start (#186) 2023-10-09 16:42:13 +08:00

teable logo

Enrich your database with spreadsheet UX and collaboration

Teable is a no-code application building platform built on relational databases. It uses a simple, spreadsheet-like interface to create complex enterprise-level database applications. Unlock efficient app development with no-code, free from the hurdles of data security and scalability.

build Codefactor Maintainability Techdebt Codacy grade LoC GitHub top language Licence

teable interface

Why Teable?

No-code tools have significantly speed up how we get things done, allowing non-tech users to build amazing apps and changing the way many work and live. People like using spreadsheet-like UI to handle their data because it's easy, flexible, and great for team collaboration. They also prefer designing their app screens without being stuck with clunky templates.

Giving non-techy people the ability to create their software sounds exciting. But that's just the start:

  • As businesses expand, their data needs intensify. No one wishes to hear that once their orders reach 100k, they'll outgrow their current interface. Yet, many no-code platforms falter at such scales.
  • Most no-code platforms are cloud-based. This means your important data sits with the provider, and switching to another platform can be a headache.
  • Sometimes, no-code tools can't do what you want because of their limitations, leaving users stuck.
  • If a tool becomes essential, you'll eventually need some tech expertise. But developers often find these platforms tricky.
  • Maintaining systems with complex setups can be hard for developers, especially if these aren't built using common software standards.
  • Systems that don't use these standards might need revamping or replacing, costing more in the long run. It might even mean ditching the no-code route and going back to traditional coding.

What we think the future of no-code products look like

  • An interface that anyone can use to build applications easily.
  • Easy access to data, letting users grab, move, and reuse their information as they wish.
  • Data privacy and choice, whether that's in the cloud, on-premise, or even just on your local.
  • It needs to work for developers too, not just non-tech users.
  • It should handle lots of data, so it can grow with your business.
  • Flexibility to integrate with other software, combining strengths to get the job done.
  • Last, native AI integration to takes usability to the next level.

In essence, Teable isn't just another no-code solution, it's a comprehensive answer to the evolving demands of modern software development, ensuring that everyone, regardless of their technical proficiency, has a platform tailored to their needs.

Features

📊 Spreadsheet-like interface

All you want is here

  • Cell Editing: Directly click and edit content within cells.
  • Formula Support: Input mathematical and logical formulas to auto-calculate values.
  • Drag-and-Fill: Drag the edges of cells to auto-populate series or duplicate values.
  • Data Sorting and Filtering: Sort data based on a column or multiple columns; use filters to view specific rows of data.
  • Data Formatting: formatting numbers, date, etc.
  • Row Styling & Conditional Formatting: Change row styles automatically based on specific conditions.
  • Charts & Visualization Tools: Create charts from table data such as bar charts, pie charts, line graphs, etc.
  • Data Validation: Limit or validate data that's entered into cells.
  • Freeze Columns: Freeze left column of the table so they remain visible while scrolling.
  • Import/Export Capabilities: Import data from other formats and export data, e.g., .csv, .xlsx.
  • Undo/Redo: Undo or redo recent changes.
  • Comments & Annotations: Attach comments to rows, providing explanations or feedback for other users.
  • Find & Replace: Search content within the table and replace it with new content.

🗂️ Multiple Views

Visualize and interact with data in various ways best suited for their specific tasks.

  • Table View: The default view of the table, which displays data in a spreadsheet-like format.
  • Kanban View: Displays data in a Kanban board, which is a visual representation of data in columns and cards.
  • Calendar View: Displays data in a calendar format, which is useful for tracking dates and events.
  • Gallery View: Displays data in a gallery format, which is useful for displaying images and other media.
  • Form View: Displays data in a form format, which is useful for collecting data.
  • Gantt View: Displays data in a Gantt chart, which is useful for tracking project schedules.
  • Timeline View: Displays data in a timeline format, which is useful for tracking events over time.

🚀 Super Fast

Build in minutes scale to millions

  • Millions of data are easily processed, and there is no pressure to filter and sort
  • Automatic database indexing for maximum speed
  • Supports batch data operations at one time

Real-time collaboration

Designed for teams

  • No need to refresh the page, data update in real time
  • Seamlessly integrate collaboration member invitation and management
  • Perfect permission management mechanism, from table to column level

🧠 Copilot

Native Integrated AI ability

  • Chat 2 App. "Create a project management app for me"
  • Chat 2 Chart. "Analyze the data in the order table using a bar chart"
  • Chat 2 View. "I want to see the schedule for the past week and only display participants"
  • Chat 2 Action. "After the order is paid and completed, an email notification will be sent to the customer"
  • More actions...

🔒 Privacy-First

You own your data, in spite of the cloud

  • Data is optionally stored locally without server support
  • Offline desktop client support
  • Sync & collaboration to cloud in just one click

🧩 Extensions

Expand infinite possibilities

  • Backend-less programming capability based on React
  • Customize your own application with extremely low cost
  • Extremely easy-to-use script extensions mode

🤖 Automation

Empower data-driven workflows effortlessly and seamlessly

  • Design your workflow with AI or Visual programming
  • Super easy retrieve data from table

Seamless integration with the software you are familiar with

  • BI tools like Metabase PowerBi...
  • No-code tools like appsmith...
  • Direct retrieve data with native sql

🗄️ Support for multiple databases

Choose the Sql-database you like

  • Sqlite, PostgreSQL, MySQL, MariaDB, TiDB...

Structure

Open in Gitpod

.
├── apps
│   ├── electron            (desktop, include a electron app )
│   ├── nextjs-app          (front-end, include a nextjs app)
│   └── nestjs-backend      (backend, running on server or inside electron app)
└── packages
    ├── common-i18n         (locales...)
    ├── core                (share code and interface between app and backend)
    ├── sdk                 (sdk for extensions)
    ├── db-main-prisma      (schema, migrations, prisma client)
    ├── eslint-config-bases (to shared eslint configs)
    └── ui-lib              (storybook)

Run Project

1. Initialize

# Use `.nvmrc` file to specify node versionRequires pre `nvm` tools
nvm install

# Enabling the Help Management Package Manager
corepack enable

# Install project dependencies
pnpm install

# Build packages
pnpm -F "./packages/**" run build

2. Select Database

make switch-db-mode

3. Custom environment variablesoptional

config openai ai endpoint and key

cd apps/nextjs-app
copy .env.example .env.development.local

open .env.development.local

OpenAI is not available in some country. To solve this problem, we recommend using https://api-openai.teable.io as an endpoint. This is an unrestricted proxy deployed on Vercel.

OPENAI_API_KEY=your-api-key
OPENAI_API_ENDPOINT=openai-endpoint

4. Run dev server

you should only start backend, it will start next server for front-end automatically, file change will be auto reload

cd apps/nestjs-backend
# run in a new terminal
pnpm dev

Developers

Goto developer readme

Sponsors ❤️

If you are enjoying some this project in your company, I'd really appreciate a sponsorship, a coffee or a dropped star. That gives me some more time to improve it to the next level.

License

AGPL-3.0