Share-IT is a secure, scalable full-stack web application designed for internal organizational use. It allows users to upload and share files via unique, time-bound, and password-protected links.
- Secure Uploads: Multi-format validation with size limits.
- Time-Bound Links: Links automatically expire after a set duration.
- Shielded Sharing: Optional AES-encrypted password protection.
- Admin Control: Full dashboard to monitor file traffic and manage storage.
- Auth System: Secure JWT-based authentication for administrative tasks.
In an era of data breaches, relying on public cloud links or unencrypted email attachments is a risk. Share-IT is necessary because it provides:
- Corporate Confidentiality: Ideal for HR or Legal departments to share sensitive documents (contracts, payroll) that must "vanish" after 24 hours.
- Reduced Storage Bloat: Since links are time-bound, the system automatically encourages a "clean-as-you-go" storage policy, preventing servers from filling up with old files.
- Internal Security: Avoids "Shadow IT" (employees using personal Dropbox/WeTransfer) by providing a controlled, audited internal alternative.
- Developer Collaboration: Securely share .env templates or configuration files across team members with password protection.
| Frontend | Backend | Database | Tools |
|---|---|---|---|
| Multer |
graph TD
A[User Selects File] --> B{Validation}
B -- Type/Size OK --> C[Upload to Server]
B -- Invalid --> D[Error Message]
C --> E[Generate Unique Link]
E --> F[Set Expiry & Password]
F --> G[(Store in MongoDB)]
G --> H[Share Link with Recipient]
H --> I{Recipient Access}
I -- Password Required --> J[Verify Password]
I -- Direct Access --> K[Download File]
J -- Success --> K
K --> L[Update Download Stats]
| Directory | Description |
|---|---|
|
Node.js & Express server-side logic |
|
React + TypeScript client application |
1. Clone & Install
git clone https://github.com/Secure-File-Sharing-System.git
npm install # Run in both /frontend and /backend2. Configure Environment (backend/.env)
PORT=5000
MONGO_URI=mongodb://localhost:27017/secureFileDB
JWT_SECRET=your_jwt_secret_key
3. Launch
# Start Backend
cd backend && npm run dev
# Start Frontend
cd frontend && npm run devWe welcome contributions from everyone! To keep the project healthy and safe, please refer to the following:
- Contribution Guidelines: Learn how to report bugs or submit features in CONTRIBUTING.md.
- Community Standards: We follow a strict CODE_OF_CONDUCT.md to ensure a welcoming environment.
This project is licensed under the GNU General Public License v3 (GPLv3). This ensures that the code remains free and open-source for everyone. See the LICENSE file for details.