{"id":18299868,"url":"https://github.com/shuvoprogram/sophisticated-file-management","last_synced_at":"2026-04-08T16:02:31.470Z","repository":{"id":248343943,"uuid":"828440997","full_name":"ShuvoProgram/Sophisticated-File-Management","owner":"ShuvoProgram","description":"sophisticated file management system in Next.js and Material-UI (MUI) that allows users to create, manipulate, and manage various file types (images, PDFs, etc.) with advanced drawing and editing capabilities.","archived":false,"fork":false,"pushed_at":"2024-07-14T10:30:46.000Z","size":424,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-16T15:00:14.212Z","etag":null,"topics":["editing","express-js","fabricjs","file-manager-application","mongodb","mui-material","next-auth","nextjs14","nodejs"],"latest_commit_sha":null,"homepage":"https://sophisticated-file-management-wheat.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/ShuvoProgram.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}},"created_at":"2024-07-14T06:46:44.000Z","updated_at":"2024-08-01T11:30:18.000Z","dependencies_parsed_at":"2024-07-14T07:47:04.103Z","dependency_job_id":"937e786a-5a3a-4580-a9ae-269b9d0adfc2","html_url":"https://github.com/ShuvoProgram/Sophisticated-File-Management","commit_stats":null,"previous_names":["shuvoprogram/sophisticated-file-management"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ShuvoProgram/Sophisticated-File-Management","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShuvoProgram%2FSophisticated-File-Management","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShuvoProgram%2FSophisticated-File-Management/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShuvoProgram%2FSophisticated-File-Management/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShuvoProgram%2FSophisticated-File-Management/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ShuvoProgram","download_url":"https://codeload.github.com/ShuvoProgram/Sophisticated-File-Management/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShuvoProgram%2FSophisticated-File-Management/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31562697,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"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":["editing","express-js","fabricjs","file-manager-application","mongodb","mui-material","next-auth","nextjs14","nodejs"],"created_at":"2024-11-05T15:10:35.178Z","updated_at":"2026-04-08T16:02:31.455Z","avatar_url":"https://github.com/ShuvoProgram.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sophisticated File Management: Organizing Your Digital Assets\n\n## Overview\n\nsophisticated file management system using Next.js and Material-UI (MUI). It enables users to create, manipulate, and manage various file types (images, PDFs) with advanced drawing and editing capabilities. Key features include file upload, drawing tools, annotations, real-time collaboration, version control, customizable UI, data encryption, batch processing, and mobile compatibility.\n\n## Demo\n\n**Live Link to Sophisticated: [Explore Sophisticated](https://sophisticated-file-management-wheat.vercel.app)**\n\n## Technologies\n\n![Next.js](https://img.shields.io/badge/-Next.js-000000?style=flat-square\u0026logo=next.js\u0026logoColor=white)\n![Tailwind CSS](https://img.shields.io/badge/-Tailwind_CSS-38B2AC?style=flat-square\u0026logo=tailwind-css\u0026logoColor=white)\n![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?style=flat-square\u0026logo=typescript\u0026logoColor=white)\n![Fabric](https://img.shields.io/badge/-Fabric-4F5665?style=flat-square)\n![Node.js](https://img.shields.io/badge/-Node.js-339933?style=flat-square\u0026logo=node.js\u0026logoColor=white)\n![Express.js](https://img.shields.io/badge/-Express.js-000000?style=flat-square\u0026logo=express\u0026logoColor=white)\n![MongoDB](https://img.shields.io/badge/-MongoDB-47A248?style=flat-square\u0026logo=mongodb\u0026logoColor=white)\n![Material UI](https://img.shields.io/badge/-Material_UI-0081CB?style=flat-square\u0026logo=material-ui\u0026logoColor=white)\n![Express Validator](https://img.shields.io/badge/-Express_Validator-00CECB?style=flat-square\u0026logo=express\u0026logoColor=white)\n![Jsonwebtoken](https://img.shields.io/badge/-Jsonwebtoken-000000?style=flat-square\u0026logo=jsonwebtokens\u0026logoColor=white)\n![Axios](https://img.shields.io/badge/-Axios-007ACC?style=flat-square\u0026logo=axios\u0026logoColor=white)\n\n## Features 🚀\n\n## Frontend Features 🚀🎨\n\n- **Immersive UI/UX:** Delight in a visually captivating and responsive user interface powered by Next.js and Material-UI, ensuring an engaging user experience.\n- **Authentication System:** Secure user authentication using NextAuth.js, providing seamless login and user management functionalities.\n- **Responsive Layout:** Crafted with MUI components, ensuring adaptability across various devices for optimal usability.\n\n### File Management 📁💻\n\n- **File Upload:** Implement robust functionality supporting image and PDF uploads for versatile file management.\n- **File Viewer:** Introduce a user-friendly file viewer to display uploaded files, enhancing accessibility and usability.\n\n### Drawing and Editing Tools 🎨🖌️\n\n- **Canvas Integration:** Incorporate a dynamic canvas component enabling users to draw shapes, lines, and freehand drawings with precision.\n- **Drag-and-Drop:** Facilitate intuitive interaction with shapes and lines through drag-and-drop functionality, enhancing user control.\n- **Customization Options:** Enable users to adjust color selections and line thickness, alongside an eraser tool for seamless editing.\n\n### Advanced Drawing Capabilities 🌟🎨\n\n- **Text Tool:** Implement a versatile text tool for adding and editing text directly on the canvas, enhancing creative possibilities.\n- **Layer Support:** Enable creation and management of multiple layers, fostering complex and organized drawings.\n- **Precision Tools:** Implement snapping and alignment guides, along with measurement tools for precise drawing accuracy.\n\n### Annotations and Collaboration 📝🤝\n\n- **Annotation Features:** Empower users with the ability to annotate and comment on specific file sections, fostering collaboration and feedback.\n- **Real-time Collaboration:** Utilize WebSockets for seamless real-time collaboration, enhancing teamwork and productivity.\n\n### Export and Security 🚀🔒\n\n- **File Export:** Provide functionality to save edited files locally or in the cloud (e.g., AWS S3), and export files as images or PDFs for versatile usage.\n- **Role-Based Access:** Implement role-based access control (admin, editor, viewer) to manage permissions and ensure data security.\n\n### Version Control and Customization 🔄🎨\n\n- **Versioning:** Enable version control to track file changes and facilitate rollback to previous versions, ensuring data integrity.\n- **Template Management:** Offer a library of templates for user convenience, enhancing productivity and customization options.\n\n### Additional Features and Compatibility 🎉📱\n\n- **Customizable UI:** Allow users to personalize themes and toolbar configurations, ensuring an adaptable and user-friendly interface.\n- **Data Encryption:** Implement robust encryption protocols to safeguard file storage and transfer, prioritizing data security.\n- **Mobile Optimization:** Ensure seamless functionality and responsiveness on mobile devices, supporting touch interactions for drawing and editing tasks.\n\n# Sophisticated File Management API Endpoints 📁\n\n## User Routes 👤\n\n- **POST /api/users/register:** Register a new user. 📝\n- **POST /api/users/login:** Log in a user. 🔐\n- **GET /api/users/:id:** Get details of a specific user. 📄\n- **PATCH /api/users/my-profile:** Update user's profile. 🔄\n- **GET /api/users:** Get all users. 📋\n\n## File Routes 📄\n\n- **POST /api/file/upload:** Upload a file. 📤\n- **GET /api/file/:id:** Get details of a specific file. 📄\n- **PUT /api/file/:id:** Update a file. 🔄\n- **DELETE /api/file/:id:** Delete a file. 🗑️\n\n## Route Usage 🚀\n\n- All user routes are under `/api/users/`.\n- All file routes are under `/api/file/`.\n\n## Installation 🚀\n\n### Backend Installation\n\n1.  Clone the backend repository:\n\n    ```bash\n    git clone https://github.com/ShuvoProgram/Sophisticated-File-Management.git\n    cd backend\n    ```\n\n2.  Install dependencies:\n\n    ```bash\n    npm install\n    ```\n\n3.  Set up environment variables:\n\n    Create a `.env` file in the root directory and add the following:\n\n        ```env\n\n        MONGODB_URI=YOUR_MONGODB_CONNECTION_STRING\n\n        JWT_SECRET=YOUR_JWT_SECRET\n        JWT_REFRESH_SECRET=YOUR_JWT_REFRESH_SECRET\n        JWT_EXPIRES_IN=1d\n        JWT_REFRESH_EXPIRES_IN=1d\n\n        NODE_ENV=development\n\n        BCRYPT_SALT_ROUNDS=12\n\n        CLOUDINARY_CLOUD_NAME=YOUR_CLOUDINARY_CLOUD_NAME\n        CLOUDINARY_API_KEY=YOUR_CLOUDINARY_API_KEY\n        CLOUDINARY_API_SECRET=YOUR_CLOUDINARY_API_SECRET\n    ```\n4. Run the backend server:\n\n   ```bash\n   npm start\n   ```\n\n   The backend will run on `http://localhost:5000` by default.\n\n### Frontend Installation\n\n1. Clone the frontend repository:\n\n   ```bash\n   git clone https://github.com/ShuvoProgram/Sophisticated-File-Management.git\n   cd frontend\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n3. Set up backend API URL:\n\n   Create a `.env` file in the root directory and add the following:\n\n   ```env\n   NEXT_PUBLIC_BACKEND_API=http://localhost:5001/api/v1\n   GOOGLE_CLIENT_ID=your-google-client-id\n   GOOGLE_CLIENT_SECRET=your-google-client-secret\n   SECRET=YourSecretKeyForApplication\n   ```\n\n4. Run the frontend development server:\n\n   ```bash\n   npm run dev\n   ```\n\n   The frontend will run on `http://localhost:5471` by default.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuvoprogram%2Fsophisticated-file-management","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshuvoprogram%2Fsophisticated-file-management","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuvoprogram%2Fsophisticated-file-management/lists"}