SQuirreL SQL Client - Web version
This is a web version of the famous web client.
Frontend: Vuetify Material Dashboard https://www.creative-tim.com/product/vuetify-material-dashboard
Backend: Java EE (JAXRS, EJB, CDI).
You need at least Java (>=8), Maven, nodejs. Compile frontend:
cd src/main/javascript
npm install
npm run build
Then package backend and frontend togheter:
cd ../../..
mvn package
The application is intended to run in a real EE container (Glassfish, TomEE, JBoss, ...), not Tomcat.
In Glassfish, with default configuration, the app will run at address http://localhost:8080/squirrel-sql-web/
We are using Glassfish 4.1.2 with MOXy patch described here
- Project structure
- Vue.js frontend
- Drivers CRUD
- Driver JAR's selection box
- Aliases CRUD
- Alias properties window
- SQL tab
- Objects tree tab
- Database tab
- Table tab
- Table "WHERE" and "ORDERBY" clause panels
- Procedure tab
- UDT tab
- Handling with large tables
- Editing table contents
- Table import/export
- Table DDL, Script SQL
- Procedure source code: Mysql, Oracle, PostGreSQL, ...
- New session properties window
- Global preferences window
- SQuirreL logs window
- Highlight syntax
- Web security: authentication (well, we still need to encrypt passwords)
- Web security: authorizations
- Users CRUD
- i18n
- Github CI (continuous integration)
Default username is admin
with password admin
. Users can be configured inside ~/.squirrel-sql/Users.xml
. Passwords are not encrypted, so far.
For frontend development, we can run in mock mode with NodeJS instead of Glassfish:
- Set
VUE_APP_MOCK=true
in file.env
or.env.local
cd src/main/javascript
npm start