{"id":50276874,"url":"https://github.com/mysbryce/ncloud","last_synced_at":"2026-05-27T21:02:36.411Z","repository":{"id":307045869,"uuid":"1028120077","full_name":"mysbryce/ncloud","owner":"mysbryce","description":"Deploy your own self-hostable, open-source server for rapid file storage and access within your local network.","archived":false,"fork":false,"pushed_at":"2025-07-29T04:49:12.000Z","size":155,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-29T06:49:40.742Z","etag":null,"topics":["nextjs","storage"],"latest_commit_sha":null,"homepage":"https://v0-nc-loud-website-requirements.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mysbryce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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},"funding":{"github":["mysbryce"]}},"created_at":"2025-07-29T04:19:32.000Z","updated_at":"2025-07-29T04:49:15.000Z","dependencies_parsed_at":"2025-07-29T06:59:52.476Z","dependency_job_id":null,"html_url":"https://github.com/mysbryce/ncloud","commit_stats":null,"previous_names":["mysbryce/ncloud"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mysbryce/ncloud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysbryce%2Fncloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysbryce%2Fncloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysbryce%2Fncloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysbryce%2Fncloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mysbryce","download_url":"https://codeload.github.com/mysbryce/ncloud/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysbryce%2Fncloud/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33583399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["nextjs","storage"],"created_at":"2026-05-27T21:02:35.243Z","updated_at":"2026-05-27T21:02:36.406Z","avatar_url":"https://github.com/mysbryce.png","language":"TypeScript","funding_links":["https://github.com/sponsors/mysbryce"],"categories":[],"sub_categories":[],"readme":"# NCloud - Local File Storage System\n\nA modern file management system built with Next.js, featuring local file storage and drag-and-drop functionality.\n\n![NCloud Preview](https://i.ibb.co/C50rFcJg/ncloud-preview.png)\n\n## Features\n\n- **Local File Storage**: Files are stored in the `/upload/` directory instead of a database\n- **Drag and Drop**: Move files and folders by dragging them to other folders\n- **Audit Logging**: All actions are logged to JSON files in the upload directory\n- **File Preview**: Preview images, text files, and other supported formats\n- **Upload Progress**: Real-time upload progress with cancellation support\n- **Search and Sort**: Find files quickly with search and multiple sort options\n- **Responsive Design**: Works on desktop and mobile devices\n\n## File Storage Structure\n\n```\nupload/\n├── metadata.json          # File metadata and structure\n├── audit-log.json         # Audit logs\n├── files/                 # Actual uploaded files\n└── folders/              # Created folders\n```\n\n## Audit Logging\n\nAll user actions are automatically logged to `upload/audit-log.json` with:\n- Timestamp\n- IP address (mocked)\n- MAC address (mocked)\n- Action type\n- Details\n\n## Drag and Drop\n\n- **Drag files/folders**: Click and drag any file or folder\n- **Drop on folders**: Drop items onto folder icons to move them\n- **Visual feedback**: Folders highlight when you drag over them\n- **Validation**: Prevents invalid moves (e.g., dropping a folder into itself)\n\n## API Endpoints\n\n- `GET /api/files?path=/` - List files in a directory\n- `POST /api/files` - Create new file or folder\n- `DELETE /api/files?id=...` - Delete file or folder\n- `POST /api/files/move` - Move file/folder to new location\n- `GET /api/audit` - Get audit logs\n- `POST /api/audit` - Create audit log entry\n\n## Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Start development server\npnpm dev\n\n# Build for production\npnpm build\n```\n\n## Environment Variables\n\nNo external database required - all data is stored locally in the upload directory.\n\n## File Types Supported\n\n- Images (JPG, PNG, GIF, SVG, WebP)\n- Videos (MP4, AVI, MOV, WMV, FLV)\n- Audio (MP3, WAV, FLAC, AAC)\n- Documents (PDF, XLSX, XLS, CSV)\n- Code files (JS, TS, JSX, TSX, HTML, CSS, PY, Java, C++, C)\n- Archives (ZIP, RAR, 7Z, TAR, GZ)\n- Text files (TXT, MD, JSON)\n\n## Security Notes\n\n- Files are stored locally in the upload directory\n- No external database dependencies\n- Audit logs are stored as JSON files\n- File paths are validated to prevent directory traversal","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmysbryce%2Fncloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmysbryce%2Fncloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmysbryce%2Fncloud/lists"}