https://github.com/calesi19/crossdbcrudflow
Python program lets you connect three different NoSQL databases; DynamoDB, Firestore, and MongoDB. It provides a CRUD interface for all three, and data transfer between them.
https://github.com/calesi19/crossdbcrudflow
database dynamodb firestore mongodb nosql python
Last synced: 2 months ago
JSON representation
Python program lets you connect three different NoSQL databases; DynamoDB, Firestore, and MongoDB. It provides a CRUD interface for all three, and data transfer between them.
- Host: GitHub
- URL: https://github.com/calesi19/crossdbcrudflow
- Owner: Calesi19
- Created: 2022-07-19T05:24:10.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-08T05:17:57.000Z (over 2 years ago)
- Last Synced: 2026-04-10T11:41:52.196Z (2 months ago)
- Topics: database, dynamodb, firestore, mongodb, nosql, python
- Language: Python
- Homepage:
- Size: 93.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

# Overview
This program is CRUD (CREATE, READ, UPDATE and DELETE) interface I made for some noSQL databases. The program allows you to enter data into a database, as well as read from it, update it, and delete from it.
There are three different databases connected and the user is able to switch out at any moment which database they are manipulating.
I made this program to familiarize myself with how noSQL databases work.
In the following link, you can find a short video demonstration of the program.
[Software Demo Video](https://youtu.be/y8pfxCFzHF4)
# Cloud Database
For this program, I'm using Amazon's DynamoDB, Google's Firestore, and MongoDB as my databases.
Each of the databases have their own class. Each class has constructors that import all the necessary libraries and establish the connection with the databases. Each class has methods that allow the user to perform some basic databases like creating, reading, updating, and deleting entries. All of the database classes use the same method names so that Polymorphism can be applied.
# Development Environment
I used Visual Studio Code as my IDE for this program and Python 3.9 as my languange.
The following are the libraries that are being used in the program:
* pymongo
* MongoClient
* pprint
* certifi
* constants
* firebase_admin
* boto3
* requests
# Useful Websites
The following are some resources that were useful when creating this project:
* [Firestore Documentation](https://firebase.google.com/docs/firestore/quickstart)
* [MongoDB Documentation](https://www.mongodb.com/docs/)
* [DynamoDB Documentation](https://docs.aws.amazon.com/dynamodb/?id=docs_gateway)
* [Firebase vs MongoDB](https://www.youtube.com/watch?v=f49B0Ez8JkQ)
* [SQL vs NoSQL](https://www.youtube.com/watch?v=t0GlGbtMTio)
* [Choosing the best database for your project](https://www.youtube.com/watch?v=cODCpXtPHbQ)
# Future Work
Some features that can be added in the future are the following:
* More NoSQL Databases
* SQL Databases