diwata
diwata copied to clipboard
A user-friendly database interface
Diwata
Diwata is a database interface for PostgreSQL,Mysql, Sqlite with the goal of being usable, user-friendly with its basic and advanced functionality be discoverable by the user.
Demo
Quick local demo setup using sqlite sakila.db
Use the nightly compiler.
git clone https://github.com/ivanceras/diwata
cd diwata
git submodule update --init --recursive
./run_sqlite_sakila.sh
open http://localhost:9000
Features
- Automatic display of direct and indirect linked record
- Freeze column and freeze rows
- Infinite scrolling / loading of page on scrolling
- User friendly granular search and filter
- Diplay descriptive referred records. (ie: Instead of displaying the foreign_key value integer or uuid, display the referred records in such a way it is distinguisable by the user)
- Well integrated with the browsers, clickable tables, records and tabs can be openned in a new window and displays the data as though clicking on it.
Roadmap checklist:
- [ ] Basic data display
- [X] Infinite load-on-deman scrolling
- [ ] Meaningful dropdown lookup
- [X] Seamless url-based navigation
- [ ] Delete records
- [ ] Update records
- [ ] Insert records
- [ ] Detail record update/insert, delete link detail records [ ] Filtering and searching on has_many and indirect records for detailed record
- [ ] Undo update/delete records (upon deletion/modification, user have a grace period to undo the changes)
- [ ] Search and filter data
- [ ] Drag/Rearrange and resize columns
- [ ] Multi column sorting
- [ ] Smart delete cascade messages
- [ ] Error Handling/Error messages display
- [ ] Advanced filtering, where user can type in the logic for filtering
- [X] Display of images and file attachments
- [ ] Interactive/dynamic record count indicator for toolbar buttons
- [X] Loading indicators
- [ ] Page transition animation
- [ ] Search/filter on tables
- [ ] Table/Columns filtering based on privilege system.
- [X] Display only tables that the user has privilege
- [X] Display only columns that the user has privilege
- [ ] An interface for superusers to set user privileges for each tables
- [ ] Row level security
- [ ] When the server is configured to require user login, the user will be forced to login
- [ ] Plugin and module system
- [ ] Custom validation on field
- [ ] Custom buttons for application specific functionality
Notes:
[1]: You can use sakila database dump as demo database https://github.com/ivanceras/sakila
Patreon:
Please support me on patreon, so I can dedicate more time to the development of this project
Contact me:
ivanceras [a t] gmail.com
Contributors
This project exists thanks to all the people who contribute.
Backers
Please be a backer of this project! 🙏 [Become a backer]
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]