Developers often find themselves in a situation where they are away from their workstations, and require access to their database, but do not have all the credentials at the moment, or access to a machine with the essential drivers installed for connecting to a database.
The services available for this problem in the market are either paid and/or require a lot of time to setup. These services are also not meant for students or young developers, with relatively new or small projects. That's where 1DBM comes into picture.
What it does
One Database Manager is a key-store for database credentials, and a common platform for querying databases, rolled into one. With 1DBM, you can:
- Store all of your database credentials in one place
- Access credentials using a single password, just like a password manager.
- Get the uniquely assigned database id, and query any of these databases using REST APIs and eliminate the need of database drivers.
- [x] MongoDB
- [x] PostgreSQL
- [x] MySQL
- [x] MSSQL/Azure SQL server
- [x] Redis
- [x] Cassandra (Astra Datastax not supported)
- [x] IBM Db2
- [x] Elasticsearch
Not available for on-premise database solutions that are not exposed for remote usage. Credential storage is optional. Credentials can also be provided during queries.
How we built it
Challenges we ran into
- Lack of free-tier services in the market. (MongoDB, Redis, Db2 and PostgreSQL were tested using free-tier services)
- Setting up IAM for limited database access to testers.
Accomplishments that we're proud of
- Secure and encrypted credential storage, which is completely optional (for users that have security concerns)
- 1:1 database driver re-implementation for RESTful access
What we learned
- Various database query languages
- Advanced language syntax
- Various cloud database technologies available in the market
What's next for One Database Manager (1DBM)
- Adding a web interface for accessing this service
- Adding more functionality to already implemented services
- Adding support for
- and more...