# dbui
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](License)
[![Build Status](https://travis-ci.org/kyleu/dbui.svg?branch=master)](https://travis-ci.org/kyleu/dbui)
[![Crate](https://meritbadge.herokuapp.com/dbui)](https://crates.io/crates/dbui)
[![Docs](https://docs.rs/dbui/badge.svg)](https://docs.rs/dbui)
[![Dependencies](https://deps.rs/repo/github/kyleu/dbui/status.svg)](https://deps.rs/repo/github/kyleu/dbui)
An opinionated database interface for PostgreSQL. It's a work in progress.
Running as a client application or shared server, `dbui` allows you to query and inspect your database, with a focus on performance, correctness, and speed.
See [installing.md](doc/installing.md) for installation guidance.
See [scripts.md](doc/scripts.md) for available tools for building, running, and packaging the app.
## Crates
`dbui` splits its code into several library crates:
- `dbui-assets`: Contains embedded static files intended to be served from the web application
- `dbui-client`: Run in the client's browser as a WebAssembly package, includes templates
- `dbui-controllers`: Contains actix-web HTTP controllers, usually calling methods from `dbui-service`
- `dbui-core`: Contains definitions that are shared between server and client
- `dbui-database`: Contains definitions for working with PostgreSQL database servers and marshalling results
- `dbui-service`: Contains the primary logic for the application. It receives RequestMessages and emits ResponseMessages
- `dbui-templates`: Contains Maud templates used by the server to render responses
- `dbui`: Stored in the root of the project, this is the app's main library and binary
## Config
### Directories
By default, the application stores config files in your system's user configuration directory.
- macOS: ~/Library/Application Support/dbui
- Linux: ~/.config/dbui
- Windows: %APPDATA%\kyleu\/dbui
### Files
`profile/*`: User profile information