{"id":25622590,"url":"https://github.com/eshan-sud/secureit","last_synced_at":"2026-01-21T07:25:30.388Z","repository":{"id":256456919,"uuid":"852717359","full_name":"eshan-sud/secureIt","owner":"eshan-sud","description":"A Blockchain-based Data Sovereignty Platform","archived":false,"fork":false,"pushed_at":"2025-06-19T19:20:03.000Z","size":8606,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-19T20:27:58.389Z","etag":null,"topics":["blockchain","data","decentralised-application","platform","sovereignty"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eshan-sud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-09-05T09:48:13.000Z","updated_at":"2025-06-19T19:20:06.000Z","dependencies_parsed_at":"2024-09-15T04:35:38.277Z","dependency_job_id":"71043d60-b0e3-42c6-8265-a706c80e7b3a","html_url":"https://github.com/eshan-sud/secureIt","commit_stats":null,"previous_names":["eshan-sud/secureit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eshan-sud/secureIt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eshan-sud%2FsecureIt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eshan-sud%2FsecureIt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eshan-sud%2FsecureIt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eshan-sud%2FsecureIt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eshan-sud","download_url":"https://codeload.github.com/eshan-sud/secureIt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eshan-sud%2FsecureIt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28629915,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","data","decentralised-application","platform","sovereignty"],"created_at":"2025-02-22T10:19:55.153Z","updated_at":"2026-01-21T07:25:30.382Z","avatar_url":"https://github.com/eshan-sud.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blockchain-Based Storage Platform (Secure It)\n\n## Overview\n\nThis project is a decentralized application designed to securely manage personal data using blockchain technology. It provides users with the ability to upload, manage, and control access to their data while leveraging the Ethereum blockchain for secure, immutable transactions.\n\n## Core Features\n\n- **User Authentication:** Secure login using blockchain wallets (e.g., MetaMask).\n- **Data Upload and Storage:** Users can upload personal data (e.g., files, text).\n- **Permission Management:** Set permissions on who can access their data.\n- **Blockchain Integration:** Store permission settings and audit trails on the blockchain.\n- **Audit Trail:** Immutable log showing who accessed the data and when.\n- **Compensation Simulation:** Simulate rewards for users who share their data.\n\n## Technology Stack\n\n- **Frontend:** React.js, Ethers.js.\n- **Backend:** Node.js, Express.js, Solidity for Smart Contracts.\n- **IPFS:** goIpfs (v0.20.0), ipfsCluster (v0.16.2).\n- **Storage:** IPFS (Inter-Planetary File System), MongoDB for Metadata.\n- **Blockchain:** Ethereum with Smart Contracts (using Solidity), Web3.js for interaction.\n- **Database:** MongoDB for storing non-sensitive user data.\n- **Wallet Integration:** MetaMask for user authentication and transaction signing.\n- **Payments:** Ether transactions via smart contract.\n\n## TODO --\n\n- [x] Project Setup\n\n  - [x] Initialize project folders:\n    - [x] /client – React.js + Ethers.js\n    - [x] /server – Node.js + Express.js + MongoDB\n    - [x] /contracts – Solidity + Hardhat\n  - [x] Set up package.json workspaces or use separate setups\n  - [x] Install core dependencies (React, Hardhat, Express, MongoDB, IPFS SDK)\n\n- [] Authentication\n\n  - [x] Integrate MetaMask in frontend\n  - [x] Wallet connection + display address\n  - [] (Optional) Backend nonce-based wallet signature authentication\n  - [] Store 3rd party company logins (MongoDB + JWT-based auth)\n\n- [] IPFS File Upload \u0026 Metadata Storage\n\n  - [x] IPFS Cluster integration (local node)\n  - [] Client-side file encryption placeholder (for future E2EE)\n  - [] Upload encrypted file to IPFS (local node)\n  - [] Save IPFS hash + metadata in:\n    - [] MongoDB (files collection)\n    - [] Smart Contract (file hash → owner mapping)\n  - [] Build upload UI:\n    - [] File input + metadata fields (name, tags, group)\n\n- [] Friend \u0026 Family Circle Support\n\n  - [] Create backend schema for user groups (\"friend \u0026 family circles\")\n  - [] UI: Friend circle creation \u0026 member management\n  - [] Tag files with a group\n  - [] Restrict access to group-only (MongoDB + smart contract logic)\n\n- [] Permission Management\n\n  - [] Smart contract functions:\n    - [] grantAccess(address, fileHash, price, expiry)\n    - [] revokeAccess(address, fileHash)\n    - [] hasAccess(address, fileHash)\n  - [] UI: \"Share\" or \"Set Permission\" modal\n    - [] Address input\n    - [] Price (ETH)\n    - [] Expiry time\n    - [] Access type (Read, Write, Delete)\n\n- [] Third-Party Company Access\n  - [] Backend:\n    - [] Company registration endpoint\n    - [] Admin approval route\n  - [] UI for 3rd parties:\n    - [] Company login form\n    - [] Verified dashboard\n- [] Public Data Explorer (3rd Party Portal)\n\n  - [] Public search interface (only metadata visible)\n  - [] Allow 3rd parties to:\n    - [] Filter by category, tag, user-set fields\n    - [] View preview/metadata of file\n    - [] Send access request with ETH offer\n  - [] Smart contract: requestAccess(fileHash, offer)\n\n- [] User Access Approval Flow\n  - [] User sees pending access requests\n  - [] Accept / Reject UI\n  - [] If accepted:\n    - [] Set access type, duration, and ETH cost\n    - [] Smart contract handles:\n      - [] ETH payment\n      - [] Fund split: user % / platform %\n      - [] Grant time-limited access\n    - [] Record all in smart contract + MongoDB\n\n## Future Features (Post-MVP)\n\n- End-to-end file encryption with decryption key shared upon access approval\n- Support for multiple file types\n- Decentralized user profiles (DIDs / ENS)\n- Zero-knowledge proofs for privacy-preserving verification\n- Subscription or one-time access models\n\n## Getting Started\n\n### Prerequisites\n\nEnsure you have [Node.js](https://nodejs.org/) and [npm](https://www.npmjs.com/) installed. You will also need [MetaMask](https://metamask.io/) for blockchain interactions.\n\n### Installing\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/your-repo/blockchain-based-storage-platform.git\n   cd blockchain-based-storage-platform\n   ```\n\n2. **Install Dependencies**\n\n   ```bash\n   npm install\n   ```\n\n3. **Run the app**\n\n   ```bash\n   npm run\n   ```\n\n4. **Test the app**\n\n   ```bash\n   npm test\n   ```\n\n5. **Build the app**\n\n   ```bash\n   npm run build\n   ```\n\n   **License**\n\n   This project is licensed under the MIT License. See the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feshan-sud%2Fsecureit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feshan-sud%2Fsecureit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feshan-sud%2Fsecureit/lists"}