{"id":30600622,"url":"https://github.com/bernietv/filestorage-platform","last_synced_at":"2026-04-10T11:31:23.492Z","repository":{"id":311219569,"uuid":"1039934480","full_name":"BernieTv/FileStorage-Platform","owner":"BernieTv","description":"A sleek, secure, and scalable file storage platform powered by the MERN stack with AWS S3, JWT auth, and a modern UI for effortless uploads, downloads, and analytics 🚀📦🔐📊","archived":false,"fork":false,"pushed_at":"2025-08-22T20:07:10.000Z","size":237,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-04T09:41:45.356Z","etag":null,"topics":["aws-s3","expressjs","jwt-authentication","logtail","mongodb","nodejs","passportjs","react","redux-toolkit","shadcn-ui","tailwindcss","typescript","vite"],"latest_commit_sha":null,"homepage":"https://file-storage-platform.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BernieTv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2025-08-18T07:54:39.000Z","updated_at":"2025-08-22T20:07:13.000Z","dependencies_parsed_at":"2025-08-22T22:46:51.924Z","dependency_job_id":"72f024f3-39f6-4093-95ea-6b62a8ceac90","html_url":"https://github.com/BernieTv/FileStorage-Platform","commit_stats":null,"previous_names":["bernietv/filestorage-platform"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BernieTv/FileStorage-Platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BernieTv%2FFileStorage-Platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BernieTv%2FFileStorage-Platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BernieTv%2FFileStorage-Platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BernieTv%2FFileStorage-Platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BernieTv","download_url":"https://codeload.github.com/BernieTv/FileStorage-Platform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BernieTv%2FFileStorage-Platform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31641114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: 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":["aws-s3","expressjs","jwt-authentication","logtail","mongodb","nodejs","passportjs","react","redux-toolkit","shadcn-ui","tailwindcss","typescript","vite"],"created_at":"2025-08-29T23:39:19.796Z","updated_at":"2026-04-10T11:31:23.488Z","avatar_url":"https://github.com/BernieTv.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://res.cloudinary.com/bekzod-tiny-house/image/upload/v1755504867/Screenshot_from_2025-08-18_13-13-06_udlvmy.png\" alt=\"Project Banner\" /\u003e\n\n# 🌟 FileStorage Platform\n\nA **next‑gen cloud storage solution** where speed, security, and simplicity collide. 🚀 Built with the **MERN Stack**, this platform lets you upload, manage, and share files effortlessly while packing in serious power with AWS S3, JWT auth, analytics, and a slick modern UI. Perfect for devs, teams, or anyone who vibes with **secure \u0026 scalable file management**.\n\n---\n\n## 🗝️ Key Features: 👇\n\n- 🔐 Authentication (Email + Password with JWT)\n- 📊 Analytics \u0026 Charts for Storage Insights\n- 📤 Multiple File Uploads\n- ☁️ AWS S3 Integration for Secure \u0026 Scalable Storage\n- 💾 Storage Tracking for Each User\n- 📚 Bulk File Download as Zip\n- 📦 TypeScript SDK Published to npm\n- 🔑 API Key Authentication for Secure Access\n- 📅 Pagination \u0026 File Search\n- 📝 Logging with Logtail\n- 🚀 Deployment Ready\n- 🌐 Built with MERN Stack (Node.js, MongoDB, React 19)\n- 🎨 Styled with Tailwind v4 \u0026 Shadcn/ui\n\n---\n\n## 🛠️ Tech Stack\n\n- **Frontend:** React 19, TypeScript, TailwindCSS v4, Shadcn/ui, Vite\n- **Backend:** Node.js, Express.js, TypeScript, MongoDB, JWT, Passport.js\n- **Cloud \u0026 Storage:** AWS S3\n- **Logging \u0026 Monitoring:** Logtail\n- **State Management:** Redux Toolkit\n- **Package Management:** npm\n\n---\n\n## 📂 Simplified Project Structure\n\n```\n.\n├── backend         # Node.js + Express API\n│   ├── src\n│   │   ├── config       # Configurations (DB, AWS, JWT, etc.)\n│   │   ├── controllers  # API Controllers\n│   │   ├── middlewares  # Authentication \u0026 Error Handling\n│   │   ├── models       # MongoDB Models\n│   │   ├── routes       # API Routes (Internal \u0026 Public)\n│   │   ├── services     # Business Logic\n│   │   ├── utils        # Helper Functions\n│   │   └── validators   # Request Validators\n│   └── tsconfig.json\n│\n├── client          # React Frontend\n│   ├── src\n│   │   ├── app          # Redux \u0026 API Client\n│   │   ├── components   # UI Components\n│   │   ├── features     # Feature Modules (Auth, Files, Analytics)\n│   │   ├── layouts      # Page Layouts\n│   │   ├── pages        # Page-Level Components\n│   │   ├── routes       # Routing Config\n│   │   └── hooks        # Custom Hooks\n│   └── vite.config.ts\n│\n├── sdk             # TypeScript SDK Published to npm\n├── README.md       # Documentation\n```\n\n---\n\n## ⚙️ Environment Variables\n\n### Backend (`.env`)\n\n```\nPORT=5000\nNODE_ENV=development\nMONGO_URI=your_mongo_connection_string\nJWT_SECRET=your_jwt_secret\nJWT_EXPIRES_IN=1d\nLOG_LEVEL=info\nLOGTAIL_SOURCE_TOKEN=your_logtail_token\nLOGTAIL_INGESTING_HOST=your_logtail_host\nAWS_ACCESS_KEY=your_aws_key\nAWS_SECRET_KEY=your_aws_secret\nAWS_REGION=your_aws_region\nAWS_S3_BUCKET=your_bucket_name\nALLOWED_ORIGINS=http://localhost:5173\n```\n\n### Frontend (`.env`)\n\n```\nVITE_BASE_API_URL=http://localhost:5000/api\nVITE_API_URL=http://localhost:5000\nVITE_REDUX_PERSIST_SECRET_KEY=your_secret_key\n```\n\n---\n\n## 🚀 Installation \u0026 Setup\n\nClone the repository:\n\n```bash\ngit clone https://github.com/BernieTv/FileStorage-Platform.git\ncd FileStorage-Platform\n```\n\n### Backend Setup\n\n```bash\ncd backend\nnpm install\nnpm run dev\n```\n\n### Frontend Setup\n\n```bash\ncd client\nnpm install\nnpm run dev\n```\n\n---\n\n💡 Designed for **builders and creators**, this platform turns file storage into a smooth, secure, and scalable experience ✨.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbernietv%2Ffilestorage-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbernietv%2Ffilestorage-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbernietv%2Ffilestorage-platform/lists"}