|
1 | 1 | <p align="center">
|
2 | 2 | <img src="https://user-images.githubusercontent.com/845767/218793207-a84a8c9e-d147-40a8-839b-f2b5d8b1ccba.png" width=450px alt="Mathesar logo"/>
|
3 | 3 | </p>
|
4 |
| -<p align="center"><b>An intuitive UI for managing data, for users of all technical skill levels. Built on Postgres.</b></p> |
| 4 | +<p align="center"><b>Intuitive spreadsheet-like interface that lets users of all technical skill levels view, edit, query, and collaborate on Postgres data directly—self hosted, with native Postgres access control.</b></p> |
5 | 5 | <p align="center">
|
6 | 6 | <img alt="License" src="https://img.shields.io/github/license/mathesar-foundation/mathesar">
|
7 | 7 | <img alt="GitHub closed issues" src="https://img.shields.io/github/issues-closed/mathesar-foundation/mathesar">
|
8 | 8 | <img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/w/mathesar-foundation/mathesar">
|
9 | 9 | </p>
|
10 | 10 |
|
11 | 11 | <p align="center">
|
12 |
| - <a href="https://mathesar.org?ref=github-readme" target="_blank">Website</a> • <a href="https://docs.mathesar.org?ref=github-readme" target="_blank">Docs</a> • <a href="https://demo.mathesar.org?ref=github-readme" target="_blank">Live Demo</a> • <a href="https://wiki.mathesar.org/en/community/matrix" target="_blank">Matrix (chat)</a> • <a href="https://discord.gg/enaKqGn5xx" target="_blank">Discord</a> • <a href="https://wiki.mathesar.org/" target="_blank">Wiki</a> |
| 12 | + <a href="https://mathesar.org?ref=github-readme" target="_blank">Website</a> • <a href="https://docs.mathesar.org?ref=github-readme-top" target="_blank">Docs</a> • <a href="https://wiki.mathesar.org/en/community/matrix" target="_blank">Matrix (chat)</a> • <a href="https://discord.gg/enaKqGn5xx" target="_blank">Discord</a> • <a href="https://wiki.mathesar.org/" target="_blank">Contributor Wiki</a> |
13 | 13 | </p>
|
14 | 14 |
|
15 | 15 |
|
16 | 16 | # Mathesar
|
| 17 | +Mathesar is a web application that makes working with PostgreSQL databases both simple and powerful. It empowers users of all technical skill levels to view, edit, query, and collaborate on data with a familiar spreadsheet-like interface—no code needed. It’s self hosted, can be deployed in minutes, and works directly with PostgreSQL databases, schemas, and tables without extra abstractions. The project is 100% open source and maintained by Mathesar Foundation, a 501(c)(3) nonprofit. |
17 | 18 |
|
18 |
| -Mathesar is a straightforward open source tool that provides a **spreadsheet-like interface** to a PostgreSQL **database**. Our web-based interface helps you and your collaborators work with data more independently and comfortably – **no technical skills needed**. |
19 |
| - |
20 |
| -You can use Mathesar to build **data models**, **enter data**, and even **build reports**. You host your own Mathesar installation, which gives you ownership, privacy, and control of your data. |
| 19 | +Mathesar is as scalable as Postgres and supports any size or complexity of data, making it ideal for workflows involving production databases. It requires minimal setup, and integrates into your existing infrastructure. Because Mathesar is self-hosted, your data never leaves your servers, and access control based on Postgres roles and privileges keeps your database secure without adding unnecessary risk. |
21 | 20 |
|
22 | 21 | <!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
23 | 22 | <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
24 | 23 | **Table of Contents**
|
25 | 24 |
|
26 |
| -- [Sponsors](#sponsors) |
27 | 25 | - [Status](#status)
|
28 |
| -- [Join our community!](#join-our-community) |
29 |
| -- [Screenshots](#screenshots) |
30 |
| -- [Live Demo](#live-demo) |
| 26 | +- [Install Mathesar](#install-mathesar) |
| 27 | +- [Join our community](#join-our-community) |
| 28 | + - [Contribute to Mathesar](#contribute-to-mathesar) |
31 | 29 | - [Features](#features)
|
32 |
| -- [Self-hosting](#self-hosting) |
| 30 | +- [Screeenshots](#screeenshots) |
| 31 | + - [Connecting a database](#connecting-a-database) |
| 32 | + - [Adding collaborators](#adding-collaborators) |
| 33 | + - [Viewing a Postgres schema](#viewing-a-postgres-schema) |
| 34 | + - [Working with tables](#working-with-tables) |
| 35 | + - [Finding a nested record](#finding-a-nested-record) |
| 36 | + - [Linking two tables together](#linking-two-tables-together) |
| 37 | + - [Managing table permissions](#managing-table-permissions) |
| 38 | + - [Viewing a single record with related records](#viewing-a-single-record-with-related-records) |
| 39 | + - [Viewing an Exploration (query result)](#viewing-an-exploration-query-result) |
| 40 | + - [Building an Exploration (query)](#building-an-exploration-query) |
| 41 | + - [Disconnecting a database](#disconnecting-a-database) |
| 42 | +- [Mathesar in action](#mathesar-in-action) |
33 | 43 | - [Our motivation](#our-motivation)
|
34 |
| -- [Contributing](#contributing) |
35 | 44 | - [Bugs and troubleshooting](#bugs-and-troubleshooting)
|
36 | 45 | - [License](#license)
|
37 | 46 |
|
38 | 47 | <!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
39 | 48 |
|
40 |
| -## Sponsors |
41 |
| -Our top sponsors! Become a sponsor on [GitHub](https://github.com/sponsors/mathesar-foundation) or [Open Collective](https://opencollective.com/mathesar). |
42 |
| - |
43 |
| -<table> |
44 |
| - <tbody> |
45 |
| - <tr> |
46 |
| - <td align="center" valign="top" width="14.28%"> |
47 |
| - <a href="https://www.thingylabs.io/"> |
48 |
| - <img src="https://user-images.githubusercontent.com/287034/226116547-cd28e16a-4c89-4a01-bc98-5a19b02ab1b2.png" width="100px;" alt="Thingylabs GmbH"/> |
49 |
| - <br /> |
50 |
| - <sub><b>Thingylabs GmbH</b></sub> |
51 |
| - </a> |
52 |
| - <br /> |
53 |
| - </td> |
54 |
| - </tr> |
55 |
| - </tbody> |
56 |
| -</table> |
57 |
| - |
58 | 49 | ## Status
|
59 | 50 | - [x] **Public Alpha**: You can install and deploy Mathesar on your server. Go easy on us!
|
60 |
| -- [ ] **Public Beta**: Stable and feature-rich enough to implement in production |
61 |
| -- [ ] **Public**: Production-ready |
62 |
| - |
63 |
| -We are currently in the **public alpha** stage. |
64 |
| - |
65 |
| -## Join our community! |
66 |
| -The Mathesar team is on [Matrix](https://wiki.mathesar.org/en/community/matrix) (chat service). We also have [mailing lists](https://wiki.mathesar.org/en/community/mailing-lists) and the core team discusses day-to-day work on our developer mailing list. |
67 |
| - |
68 |
| -## Screenshots |
69 |
| - |
70 |
| - |
| 51 | +- [x] **Public Beta**: Stable and feature-rich enough to implement in production |
| 52 | +- [ ] **Public**: Widely used in production environments |
71 | 53 |
|
72 |
| - |
| 54 | +We are currently in the **public beta** stage. |
73 | 55 |
|
74 |
| - |
| 56 | +## Install Mathesar |
| 57 | +Please see [our documentation](https://docs.mathesar.org/?ref=github-readme-installing) for instructions on installing Mathesar on your own server. |
75 | 58 |
|
76 |
| - |
| 59 | +## Join our community |
| 60 | +The Mathesar team is on [Matrix](https://wiki.mathesar.org/en/community/matrix) (chat service). We also have [mailing lists](https://wiki.mathesar.org/en/community/mailing-lists) and the core team discusses day-to-day work on our developer mailing list. |
77 | 61 |
|
78 |
| - |
79 |
| - |
80 |
| - |
81 |
| - |
82 |
| -## Live Demo |
83 |
| -Check out a [live demo of Mathesar here](https://demo.mathesar.org)! |
| 62 | +### Contribute to Mathesar |
| 63 | +We actively encourage contribution! Get started by reading our [Contributor Guide](./CONTRIBUTING.md). |
84 | 64 |
|
85 | 65 | ## Features
|
86 | 66 | - **Built on Postgres**: Connect to an existing Postgres database or set one up from scratch.
|
| 67 | +- **Install in minutes**: Install using Docker in minutes, integrate into any existing infrastructure. |
| 68 | +- **Postgres-based access control**: Use existing Postgres roles within Mathesar's UI, or set up your own. |
| 69 | +- **Interoperable with other tools**: Mathesar works harmoniously alongside your database and thousands of other tools in the Postgres ecosystem. |
87 | 70 | - **Set up your data models**: Easily create and update Postgres schemas and tables.
|
88 | 71 | - **Data entry**: Use our spreadsheet-like interface to view, create, update, and delete table records.
|
89 | 72 | - **Filter, sort, and group**: Quickly slice your data in different ways.
|
90 | 73 | - **Query builder**: Use our Data Explorer to build queries without knowing anything about SQL or joins.
|
| 74 | +- **Import and export data**: Import and export data into Mathesar easily to work with your data elsewhere. |
91 | 75 | - **Schema migrations**: Transfer columns between tables in two clicks.
|
92 |
| -- **Uses Postgres features**: Mathesar uses and manipulates Postgres schemas, primary keys, foreign keys, constraints and data types. e.g. "Links" in the UI are foreign keys in the database. |
93 |
| -- **Custom data types**: Custom data types for emails and URLs (more coming soon), validated at the database level. |
94 |
| -- **Basic access control**: Users can have Viewer (read-only), Editor (can only edit data, but not data structure), or Manager (can edit both data and its structure) roles. |
| 76 | +- **Uses Postgres features**: Mathesar uses and manipulates Postgres schemas, primary keys, foreign keys, constraints and data types. e.g. "Relationships" in the UI are foreign keys in the database. |
| 77 | +- **Custom data types**: Custom data types for emails and URLs, validated at the database level. |
95 | 78 |
|
96 |
| -## Self-hosting |
97 |
| -Please see [our documentation](https://docs.mathesar.org/) for instructions on installing Mathesar on your own server. |
| 79 | +## Screeenshots |
| 80 | +### Connecting a database |
| 81 | + |
98 | 82 |
|
99 |
| -## Our motivation |
100 |
| -Mathesar is a non-profit project. Our goal is to make understanding and working with data easy for everyone. |
| 83 | +### Adding collaborators |
| 84 | + |
101 | 85 |
|
102 |
| -Databases have been around for a long time and solve common data problems really well. But working with databases often requires custom software. Or complex tooling that people struggle to get their heads around. |
| 86 | +### Viewing a Postgres schema |
| 87 | + |
103 | 88 |
|
104 |
| -We want to make existing database functionality more accessible, for users of all technical skill levels. |
| 89 | +### Working with tables |
| 90 | + |
105 | 91 |
|
106 |
| -## Contributing |
107 |
| -We actively encourage contribution! Get started by reading our [Contributor Guide](./CONTRIBUTING.md). |
| 92 | +### Finding a nested record |
| 93 | + |
| 94 | + |
| 95 | +### Linking two tables together |
| 96 | + |
| 97 | + |
| 98 | +### Managing table permissions |
| 99 | + |
| 100 | + |
| 101 | +### Viewing a single record with related records |
| 102 | + |
| 103 | + |
| 104 | +### Viewing an Exploration (query result) |
| 105 | + |
| 106 | + |
| 107 | +### Building an Exploration (query) |
| 108 | + |
| 109 | + |
| 110 | +### Disconnecting a database |
| 111 | + |
| 112 | + |
| 113 | +## Mathesar in action |
| 114 | +https://github.com/user-attachments/assets/6bdfb178-17b4-4abf-aac4-9781e1d841ab |
| 115 | + |
| 116 | +## Our motivation |
| 117 | +Using databases shouldn't require technical expertise or expensive, closed-off tools. Databases are incredibly powerful, but they're often trapped behind complex interfaces that are hard to use or limit how people can access and share their data. We want to change that by building user-friendly tools that unlock the power of existing databases without sacrificing accessibility, portability, or extensibility. |
| 118 | + |
| 119 | +Mathesar is our answer: an open-source platform designed to unlock the full potential of PostgreSQL, one of the most powerful and trusted open-source databases. Mathesar is easy to use, interoperable, and extensible, while also giving you complete control over your data. As a nonprofit, we're committed to keeping Mathesar 100% open source and available to everyone—because better ways to work with data mean better decisions, and better decisions lead to a better world. |
108 | 120 |
|
109 | 121 | ## Bugs and troubleshooting
|
110 | 122 | If you run into problems, refer to our [troubleshooting guide](./TROUBLESHOOTING.md).
|
|
0 commit comments