|
1 | | -# secure-file-vault |
| 1 | +# 🔐 Secure File Vault System |
| 2 | + |
2 | 3 | A secure desktop application to **encrypt and decrypt files**, built with **Java 20**, **JavaFX**, and **AES encryption**. It features a modern GUI, secure user authentication, and is extendable for cloud syncing and audit logging. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## 🚀 Features (Initial Version) |
| 8 | + |
| 9 | +- 🔒 **AES File Encryption/Decryption** |
| 10 | + Encrypt your files using AES-256 with password-based key derivation. Decryption is allowed only after successful login, ensuring strong protection against unauthorized access. |
| 11 | + |
| 12 | +- 👤 **User Authentication** |
| 13 | + Secure registration and login system with password hashing (PBKDF2). Session management maintains user context while ensuring safety. |
| 14 | + |
| 15 | +> 🛠️ _Planned features_: |
| 16 | +> - Folder-tree view for exploring encrypted directories |
| 17 | +> - Audit logs to monitor access and changes |
| 18 | +> - AWS S3 cloud sync support |
| 19 | +
|
| 20 | +--- |
| 21 | + |
| 22 | +## 🧰 Tech Stack |
| 23 | + |
| 24 | +| Component | Technology | |
| 25 | +|-------------|-------------------------------| |
| 26 | +| Language | Java 20 (with preview features) | |
| 27 | +| GUI | JavaFX 24 | |
| 28 | +| Encryption | Java Cryptography API (AES) | |
| 29 | +| Database | SQLite (MySQL supported) | |
| 30 | +| Build Script | Custom `build.bat` script | |
| 31 | + |
| 32 | +--- |
| 33 | + |
| 34 | +## 🗂️ Project Structure |
| 35 | + |
| 36 | +SecureFileVault/ ├── src/ │ └── main/ │ ├── java/ │ │ └── com/freelancetracker/ │ │ ├── Main.java │ │ ├── controllers/ │ │ ├── models/ │ │ └── services/ │ └── resources/ ├── lib/ │ ├── javafx-sdk-24/ │ ├── sqlite-jdbc-3.49.1.0.jar │ └── pdfbox-3.0.4.jar ├── out/ │ └── (compiled output) ├── build.bat └── README.md |
| 37 | + |
| 38 | + |
| 39 | +--- |
| 40 | + |
| 41 | +## 🏁 Getting Started |
| 42 | + |
| 43 | +### ✅ Prerequisites |
| 44 | + |
| 45 | +- Java 20 installed and `JAVA_HOME` configured correctly |
| 46 | +- JavaFX SDK 24 ([Download](https://gluonhq.com/products/javafx/)) |
| 47 | +- SQLite JDBC Driver ([Download](https://github.com/xerial/sqlite-jdbc/releases)) |
| 48 | +- (Optional) Apache PDFBox ([Download](https://pdfbox.apache.org/download.html)) |
| 49 | + |
| 50 | +### ▶️ Run the App |
| 51 | + |
| 52 | +To compile and run the application: |
| 53 | + |
| 54 | +```bash |
| 55 | +.\build.bat |
0 commit comments