A full-stack web application for managing and visualizing data from both MariaDB and MongoDB databases. The application allows users to upload CSV files, import data into either database system, and perform CRUD operations through an interactive interface.
🔄 Dual Database Support | 📤 CSV File Management | 📊 Interactive Tables |
✏️ In-place Editing | 🗑️ Bulk Operations | 🔍 Dynamic Filtering |
🌓 Dark/Light Theme | 📱 Responsive Design | 🚀 Fast Performance |
Frontend | Backend | Database | DevOps |
|
|
|
|
project-root/
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── DataTable.jsx
│ │ │ └── ...
│ │ ├── App.jsx
│ │ └── main.jsx
│ ├── Dockerfile
│ └── vite.config.js
├── backend/
│ ├── app.py
│ └── Dockerfile
├── docker-compose.yml
└── README.md
-
Clone the repository:
bash git clone https://github.com/Shubh-k04/DataBridge cd project-root
-
Create a
.env
file in thebackend
directory with the following variables:env DB_USER=root DB_PASSWORD=rootpassword DB_HOST=mariadb DB_PORT=3306 DB_NAME=csv_dump MONGO_USER=root MONGO_PASSWORD=rootpassword MONGO_HOST=mongodb MONGO_PORT=27017 MONGO_DB_NAME=your_database_name
-
Build and run the containers:
bash docker-compose up --build
The application will be available at http://localhost:3000.
- Upload CSV files through the web interface
- Choose between MariaDB or MongoDB for data storage
- Automatic table creation based on CSV structure
- UTF-8 encoding support
- Chunk-based processing for large files
- View data in paginated tables
- Edit cell values directly in the table
- Delete single or multiple rows
- Dynamic switching between databases and tables
- Real-time data updates
- Comprehensive error reporting
- File type validation
- Database connection error handling
- Data type validation during imports
POST /upload
- Upload CSV filePOST /import_csv_to_maria
- Import CSV to MariaDBPOST /import_csv_to_mongo
- Import CSV to MongoDB
GET /get_tables
- Get available tables/collectionsGET /get_data
- Get paginated dataPUT /update_maria_data
- Update MariaDB recordPUT /update_mongo_data/<id>
- Update MongoDB recordDELETE /delete_maria_data
- Delete MariaDB recordDELETE /delete_mongo_data/<id>
- Delete MongoDB record
To run the application in development mode:
- Ensure Docker is installed and running on your machine.
- Navigate to the project root directory.
- Run the following command to start the application:
bash docker-compose up
- Access the application at http://localhost:3000.
For any changes made to the code, the application will automatically reload.
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request