Giter Club home page Giter Club logo

db-viewer's Introduction

Build Status Quality Gate Coverage

DB viewer

Description

  • REST API capable of storing connection details and basic database analysis (currently only supports PostgreSQL)

Check out the API

Try it out

Run

Prerequisites

  • running PostgreSQL database
  • default properties for dev profile:
    spring.datasource.url=jdbc:postgresql://localhost:5432/dbviewer
    spring.datasource.username=postgres
    spring.datasource.password=postgres
    spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect

Execution

  • run locally using the following:
    mvn spring-boot:run '-Dspring-boot.run.profiles=dev'

Contribute

Build

Prerequisites

  • docker
  • maven
  • jdk

TODO

More

  • see more at local wiki

db-viewer's People

Contributors

blahami2 avatar

Watchers

 avatar  avatar

db-viewer's Issues

Custom database/table for integration tests

  • currently integration tests use default postgres database data
  • introduce pre-set database to query on

Points of interest

  • src\test\java\cz\blahami2\dbviewer\connections\ConnectionsDetailsApiIT.java

Connection details

Description

  • back-end for saving, updating, listing and deleting connection details for favourite relational database
  • exposed via REST
  • columns: name, hostname, port, databaseName, username, password (encypher pwd?)

Original text

Implement backend for saving, updating, listing and deleting connection details to you favourite relational database. Those operations should be exposed as REST interface.

E.g. If you choose the MySQL database, you should persist at least the following properties:
· name - custom name of the database instance
· hostname - hostname of the database
· port - port where the database runs
· databaseName - name of the database
· username - username for connecting to the database
· password - password for connecting to the database

Connection details themselves should be stored in database of your choice.

TODO

  • add get(id) to API doc
  • add validation service

Statistics

Description

  • statistics about each column
    • min, max, avg, median
  • statistics about each table
    • #records, #attributes
  • documented REST API

Original text

Design and implement REST API endpoints for statistics:
· Single endpoint for statistics about each column: min, max, avg, median value of the column.
· Single endpoint for statistics about each table: number of records, number of attributes.
· Document this REST API

Finish exception handling

  • src\main\java\cz\blahami2\dbviewer\exceptions\GlobalExceptionHandler.java
  • incomplete, handle more exceptions

Validation service

  • enhance with validation service
  • currently only basic size/format validation applied

Incorrect names

  • ConnectionEntity name is wrong
  • api endpoints are inconsistent

Browse

Description

  • browse structure and data using stored connections
  • list schemas, list tables, list columns, table data preview
  • as much info as possible (data type, primary keys, etc.)

Original text

Design and implement REST API for browsing structure and data using your stored database connections from Task 1. Your API should support the following operations:
· Listing schemas (if your selected database supports them)
· Listing tables
· Listing columns
· Data preview of the table

Resources should contain as much information you can find (data type, if it is primary key, etc.).

Assignment

  • DBeaver
  • RESTful
  • manage db connections

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.