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
sakila database in heroku
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]