Skip to content

luca-vercelli/squirrel-sql-web

Repository files navigation

squirrel-sql-web

SQuirreL SQL Client - Web version

WIP Build Status

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).

Screenshots

Drivers Driver Aliases Alias Objects Query Tables Preferences

Build

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

Run

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 roadmap

  • DONE Project structure
  • DONE Vue.js frontend
  • DONE Drivers CRUD
  • WIP Driver JAR's selection box
  • DONE Aliases CRUD
  • TODO Alias properties window
  • DONE SQL tab
  • DONE Objects tree tab
  • DONE Database tab
  • DONE Table tab
  • TODO Table "WHERE" and "ORDERBY" clause panels
  • DONE Procedure tab
  • TODO UDT tab
  • WIP Handling with large tables
  • TODO Editing table contents
  • TODO Table import/export
  • DONE Table DDL, Script SQL
  • WIP Procedure source code: Mysql, Oracle, PostGreSQL, ...
  • TODO New session properties window
  • WIP Global preferences window
  • TODO SQuirreL logs window
  • TODO Highlight syntax
  • DONE Web security: authentication (well, we still need to encrypt passwords)
  • TODO Web security: authorizations
  • TODO Users CRUD
  • TODO i18n
  • DONE Github CI (continuous integration)

Authentication

Default username is admin with password admin. Users can be configured inside ~/.squirrel-sql/Users.xml. Passwords are not encrypted, so far.

Run mock

For frontend development, we can run in mock mode with NodeJS instead of Glassfish:

  1. Set VUE_APP_MOCK=true in file .env or .env.local
  2. cd src/main/javascript
  3. npm start