|
1 | | -<div align=center> |
2 | | -<img src="/src-tauri/icons/icon.png" width="100px" height="100px" alt="FileFlow" align="center" /> |
3 | | -<h1>FileFlow</h1> |
4 | | - <div align="center"> |
5 | | - <img src="https://img.shields.io/badge/Rust-dea584?style=for-the-badge&logo=rust&logoColor=white" alt="Rust" /> |
6 | | - <img src="https://img.shields.io/badge/Tauri-ffc130?style=for-the-badge&logo=tauri&logoColor=white" alt="Tauri" /> |
7 | | - <img src="https://img.shields.io/badge/Version-1.0.0-7073f6?style=for-the-badge" alt="Version" /> |
8 | | - </div> |
| 1 | +<div align="center"> |
| 2 | + <img src="/src-tauri/icons/icon.png" width="100px" height="100px" alt="FileFlow" align="center" /> |
| 3 | + <h1>FileFlow</h1> |
| 4 | + <div align="center"> |
| 5 | + <img src="https://img.shields.io/badge/Rust-dea584?style=for-the-badge&logo=rust&logoColor=white" alt="Rust" /> |
| 6 | + <img src="https://img.shields.io/badge/Tauri-ffc130?style=for-the-badge&logo=tauri&logoColor=white" alt="Tauri" /> |
| 7 | + <img src="https://img.shields.io/badge/Version-1.0.0-7073f6?style=for-the-badge" alt="Version" /> |
| 8 | + </div> |
9 | 9 | </div> |
10 | 10 |
|
11 | | -<div align=center style="margin-top: 20px"> |
12 | | - <img src="/assets/FileFlowDemo.png" alt="FileFlow" width="65%" height="50%" /> |
13 | | - <img src="/assets/Load_data.png" alt="FileFlow" width="65%" height="50%" /> |
| 11 | +<div align="center" style="margin-top: 20px"> |
| 12 | + <img src="/assets/FileFlowDemo.png" alt="FileFlow" height="250px" width="auto" /> |
| 13 | + <img src="/assets/Load_data.png" alt="FileFlow" height="250px" width="auto" /> |
14 | 14 | </div> |
15 | 15 |
|
| 16 | +## 📄 Description |
16 | 17 |
|
17 | | -## Description |
| 18 | +FileFlow is a simple and easy-to-use tool that allows you to insert data from a CSV file directly into a database table. |
| 19 | +With no privilege required for insertion, it simplifies the process while offering efficiency. |
18 | 20 |
|
19 | | -FileFlow is a simple tool that allows you to insert data from a CSV file into a table in a database. It is designed to |
20 | | -be simple to use and to require no privilege to insert the data. |
21 | | -Build with Rust and the Tauri framework, it is a cross-platform application that can be used on Windows, MacOS and |
22 | | -Linux. |
| 21 | +Built with **Rust** and the **Tauri** framework, FileFlow is a **cross-platform** application available on **Windows**, |
| 22 | +**MacOS**, and **Linux**. 🚀 |
23 | 23 |
|
24 | | -See in the release section for the latest version of the application. |
| 24 | +Check the **Release Section** for the latest version of the application. |
25 | 25 |
|
26 | | -## Features |
| 26 | +## 🌟 Features |
27 | 27 |
|
28 | | -<label> |
29 | | -<input type="checkbox" style="margin-right: 10px" checked> |
30 | | -</label> Insert data into a new table <br> |
31 | | -<label> |
32 | | -<input type="checkbox" style="margin-right: 10px" checked> |
33 | | -</label> Insert data into an existing table <br> |
34 | | -<label> |
35 | | -<input type="checkbox" style="margin-right: 10px" checked> |
36 | | -</label> Optimise the type of the columns (VARCHAR(MAX_LENGHT)) <br> |
37 | | -<label> |
38 | | -<input type="checkbox" style="margin-right: 10px" checked> |
39 | | -</label> From CSV file <br> |
40 | | -<label> |
41 | | -<input type="checkbox" style="margin-right: 10px" checked> |
42 | | -</label> Don't require <span style="font-weight: bold;">ANY</span> privilege to insert the data <br> |
43 | | -<label> |
44 | | -<input type="checkbox" style="margin-right: 10px" checked> |
45 | | -</label> Generate LOAD DATA sql query to insert faster<br> |
| 28 | +- ✅ Insert data into a **new table** |
| 29 | +- ✅ Insert data into an **existing table** |
| 30 | +- ✅ **Optimize** column types (e.g., `VARCHAR(MAX_LENGTH)`) |
| 31 | +- ✅ Insert data from a **CSV file** |
| 32 | +- ✅ Does **NOT** require **ANY** privileges for data insertion |
| 33 | +- ✅ Generate **LOAD DATA** SQL query for **faster insertion** |
46 | 34 |
|
47 | | -## Supported databases |
| 35 | +## 🛠 Supported Databases |
48 | 36 |
|
49 | | -<div align=center> |
| 37 | +<div align="center"> |
| 38 | + <img src="https://img.shields.io/badge/MySQL-00758F?style=for-the-badge&logo=mysql&logoColor=white" alt="MySQL" /> |
| 39 | + <img src="https://img.shields.io/badge/MariaDB-003545?style=for-the-badge&logo=mariadb&logoColor=white" alt="MariaDB" /> |
| 40 | + <img src="https://img.shields.io/badge/PostgreSQL-336791?style=for-the-badge&logo=postgresql&logoColor=white" alt="PostgreSQL" /> |
| 41 | + <img src="https://img.shields.io/badge/SQLite-003B57?style=for-the-badge&logo=sqlite&logoColor=white" alt="SQLite" /> |
| 42 | +</div> |
50 | 43 |
|
51 | | - |
52 | | - |
53 | | - |
54 | | - |
| 44 | +## 📝 Requirements |
55 | 45 |
|
56 | | -</div> |
| 46 | +- **Rust** |
| 47 | +- **Cargo** |
| 48 | +- **pnpm** |
57 | 49 |
|
58 | | -## Requirements |
| 50 | +You can follow the instructions on the [Tauri website](https://tauri.app/) to install **Rust** and **Cargo**. |
59 | 51 |
|
60 | | -- Rust |
61 | | -- Cargo |
62 | | -- pnpm |
| 52 | +## 📥 Installation |
63 | 53 |
|
64 | | -To install Rust and Cargo, you can follow the instructions on the Tauri website |
| 54 | +1. Clone the repository: |
65 | 55 |
|
66 | | -## Installation |
| 56 | + ```bash |
| 57 | + git clone https://github.com/Maxime-Cllt/FileFlow.git |
| 58 | + ``` |
67 | 59 |
|
68 | | -1. Clone the repository |
| 60 | +2. Install the dependencies: |
69 | 61 |
|
70 | | -```bash |
71 | | -git clone https://github.com/Maxime-Cllt/FileFlow.git |
72 | | -``` |
| 62 | + ```bash |
| 63 | + cd FileFlow |
| 64 | + pnpm install |
| 65 | + ``` |
73 | 66 |
|
74 | | -2. Install the dependencies |
| 67 | +3. Build the application: |
75 | 68 |
|
76 | | -```bash |
77 | | -cd FileFlow |
78 | | -``` |
| 69 | + ```bash |
| 70 | + pnpm tauri build |
| 71 | + ``` |
79 | 72 |
|
80 | | -```bash |
81 | | -pnpm install |
82 | | -``` |
| 73 | +4. Run the application: |
83 | 74 |
|
84 | | -3. Build the application |
| 75 | + ```bash |
| 76 | + pnpm tauri dev |
| 77 | + ``` |
85 | 78 |
|
86 | | -```bash |
87 | | -pnpm tauri build |
88 | | -``` |
| 79 | +## 💡 Usage |
89 | 80 |
|
90 | | -4. Run the application |
| 81 | +### 1. Insert Data |
91 | 82 |
|
92 | | -```bash |
93 | | -pnpm tauri dev |
94 | | -``` |
| 83 | +- 📁 Select the **CSV file** you want to insert into the database. |
| 84 | +- 💻 Choose the **database** where you want to insert the data. |
| 85 | +- ➡️ Click the **"Insert"** button. |
| 86 | +- ⏳ Wait for the data to be inserted. |
| 87 | +- ✅ **Done!** |
95 | 88 |
|
96 | | -## Usage |
| 89 | +### 2. Generate Load Data |
97 | 90 |
|
98 | | -<ol> |
99 | | - <li>Insert Data</li> |
100 | | - <ul> |
101 | | - <li>Select the CSV file you want to insert into the database</li> |
102 | | - <li>Select the database you want to insert the data into</li> |
103 | | - <li>Click on the "Insert" button</li> |
104 | | - <li>Wait for the data to be inserted</li> |
105 | | - <li>Done!</li> |
106 | | - </ul> |
107 | | - <li>Generate Load data</li> |
108 | | - <ul> |
109 | | - <li>Select the CSV file you want to insert into the database</li> |
110 | | - <li>Click on the "Load" button in the menu</li> |
111 | | - <li>Copy the generated SQL query</li> |
112 | | - <li>Run the query if your database support it</li> |
113 | | - <li>Done!</li> |
114 | | - </ul> |
115 | | -</ol> |
| 91 | +- 📁 Select the **CSV file** you want to insert into the database. |
| 92 | +- 🖱️ Click the **"Load"** button in the menu. |
| 93 | +- 📋 Copy the generated **SQL query**. |
| 94 | +- 🏃♂️ Run the query if your database supports it. |
| 95 | +- ✅ **Done!** |
116 | 96 |
|
117 | | -## Information |
| 97 | +## ⚙️ Modes of Data Insertion |
118 | 98 |
|
119 | | -There are two mode to insert the data into the database: |
| 99 | +There are two modes for inserting data into the database: |
120 | 100 |
|
121 | | -- **Optimised mode**: The data is inserted into a new table with the type of the columns optimised (VARCHAR(MAX_LENGHT)) |
122 | | -- **Fast mode**: The data is inserted into an existing table with the type of the columns as they are in the CSV file |
| 101 | +- **Optimized Mode**: Inserts data into a new table with optimized column types (e.g., `VARCHAR(MAX_LENGTH)`). 🛠️ This |
| 102 | + mode may take longer but ensures the table structure is optimized. |
123 | 103 |
|
124 | | -The optimised mode might take longer to insert the data but it will create a table with the type of the columns |
125 | | -optimised. |
| 104 | +- **Fast Mode**: Inserts data into an existing table, keeping the original column types as they are in the CSV file. ⚡ |
| 105 | + This mode is quicker but may not optimize the column types. |
126 | 106 |
|
127 | | -You can also generate a LOAD DATA SQL query to insert the data faster if your database support it. It is way faster than |
128 | | -inserting the data row by row but not all databases support it. |
| 107 | +Additionally, you can generate a **LOAD DATA** SQL query for faster insertion if your database supports it. This method |
| 108 | +is much quicker than row-by-row insertion! 🚀 |
129 | 109 |
|
| 110 | +## 🤝 Contributing |
130 | 111 |
|
131 | | -## Contributing |
| 112 | +Want to contribute to the project? Feel free to open an issue or submit a pull request. We welcome contributions and |
| 113 | +ideas from the community! 💡 |
132 | 114 |
|
133 | | -If you want to contribute to the project, you can open an issue or a pull request. |
0 commit comments