Skip to content

dwinston/flamyngo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flamyngo

Flamyngo is a customizable Flask frontend for MongoDB.

At the most basic level, the aim is to delegate most settings to a YAML configuration file, which then allows the underlying code to be reused for any conceivable collection. Querying and display is restricted to a single collection for now. However, the code can serve as a starting point for more complex setups to support multiple collections.

Usage

Clone or download the code.

In the root directory, run:

python flm.py --config <path/to/config.yaml>

If --config is not provided, it defaults to $HOME/.flamyngo.yaml.

Configuration

A sample commented configuration yaml file is given below.

# MongoDB settings
db:
  host: mongo.host.com
  port: 27017
  username: user
  password: password
  database: mydb
  collection: mycoll

# These set the special queries as an ordered list of [<key>, <regex string>, <type>]. 
# If the query string satisfies any of the regex, the Mongo query is set as 
# {<key>: type(<search_string>)}. This allows for much more friendly setups for common
# queries that do not require a user to type in verbose Mongo criteria. Each 
# regex should be uniquely identifying.
# Supported types include int, float, str, objectid.
# If none of the regex works, the criteria is interpreted as a Mongo-like dict query.
query:
  - [last_name, '^[A-Za-z]+$', str]
  - [phone_number, '^[0-9]+$', int]

# A default list of projections to display as a table. Only keys in the root of 
# the document is supported right now.
summary:
  - _id
  - first_name
  - last_name
  - phone_number

# The following defines unique identifiers for each doc. This allows each
# specific doc to be queried and displayed using this key. If this key is 
# present in the default list of projections, a link will be created to each
# unique document.
unique_key: _id
unique_key_type: objectid

About

Flask frontend for MongoDB

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 47.6%
  • HTML 20.7%
  • CSS 15.9%
  • Python 15.8%