AllSQL
An open-source compact browser-based SQL Compiler, built using Flutter.
Website
·
Issues
·
Pull Requests
·
Discussions
Follow @masteradit Watch Star Fork Issue Discuss Download
✨ Demo
Website: https://sql.allmityapp.com
⚡ Features
- ✅ Server is not required
- ✅ Output is neatly formatted in the form of a table
- ✅ Helper text to explain the use of each option with example
- ✅ Very small size (< 6 MB)
- ✅ Works on web
- ✅ Can be installed as a Progressive Web App on Android, iOS, Windows, MacOS and Linux
- ✅ Works offline
- ✅ Responsive design (works on all screen sizes)
- ✅ Shows a detailed error when an exception is thrown
🐛 Known issues/bugs
- ❗ Automatically execute commands instead of selecting the type of command manually
- ❗ Show multiple tables in output if multiple select queries are entered
- ❗ Add dark theme
- ❗ Add syntax highlighting
🤔 Why did I make AllSQL?
I created AllSQL when I was in college. I had a Database Systems course in college, where our teacher recommended us to download Oracle Database 19c, which is around 2.7 GB in size. Some of my friends faced issues while installing the software. So, I wanted to make a ligh weight, compact, browser based compiler, where anyone could practice SQL commands, on any device without installing a heavy software, which would also work offline so that we could use it during our lab exams as well. Thus, I sat down one night and challenged myself to build an SQL compiler before the next morning that would match all the constraints.
👏 Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
Initial Setup
-
Clone the repo.
-
Run
flutter pub get
. This will get all the dependencies for this project. -
Run
dart run sqflite_common_ffi_web:setup
. This will create 2 filessqlite3.wasm
andsqflite_sw.js
.Note: when sqlite3 and its wasm binary are updated, you may need to run the command again using the force option:
dart run sqflite_common_ffi_web:setup --force
However since it depends on sqflite3 version and its associated binary, if it gets updated and the tool still download the old version (sorry it is hardcoded) you might have to manually download a compatible binary from sqlite3.wasm binaries I don't have a better option yet, sorry.
Source: https://pub.dev/packages/sqflite_common_ffi_web#setup-binaries
📚 Documentation
- Website: https://docs.sql.allmityapp.com/
- GitHub repository: https://github.com/masteradit/AllSQL-Docs
🙏 Show your support
Please ⭐️ this repository if this project helped you!
👥 Contributors
Made with contributors-img.
⭐️ Stargazers over time
📝 License
Copyright © 2021 Adit Luhadia.
This project is MIT licensed.