https://github.com/adityabverma/sharehub
ShareHub is a full-stack web application built with the MERN stack (MongoDB, Express.js, React, and Node.js) that allows users to upload, arrange, and share various types of files (photos, videos, documents, etc.). Users can create instances, organize files into groups, and share them with others using a password-protected system.
https://github.com/adityabverma/sharehub
cloud-storage cloudinary document-management express file-filter file-sharing file-upload full-stack image-sharing mern-stack mime-types mongodb mongoose multer nodejs password-protection react video-sharing web-application
Last synced: 4 months ago
JSON representation
ShareHub is a full-stack web application built with the MERN stack (MongoDB, Express.js, React, and Node.js) that allows users to upload, arrange, and share various types of files (photos, videos, documents, etc.). Users can create instances, organize files into groups, and share them with others using a password-protected system.
- Host: GitHub
- URL: https://github.com/adityabverma/sharehub
- Owner: AdityaBVerma
- Created: 2024-07-04T15:36:45.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-08T20:34:45.000Z (almost 2 years ago)
- Last Synced: 2025-03-09T05:41:40.347Z (over 1 year ago)
- Topics: cloud-storage, cloudinary, document-management, express, file-filter, file-sharing, file-upload, full-stack, image-sharing, mern-stack, mime-types, mongodb, mongoose, multer, nodejs, password-protection, react, video-sharing, web-application
- Language: JavaScript
- Homepage:
- Size: 113 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ShareHub
**ShareHub** is a full-stack web application built with the MERN stack (MongoDB, Express.js, React, and Node.js) that allows users to upload, arrange, and share various types of files (photos, videos, documents, etc.). Users can create instances, organize files into groups, and share them with others using a password-protected system.
## Features
- **Upload and Manage Different File Types**: Supports the upload of photos, videos, documents, and more.
- **Organize Files into Groups**: Users can categorize and group their files for better organization.
- **Share Files with Others Securely**: Files can be shared with others using a password-protected system.
- **User Authentication and Authorization**: Secure user registration, login, and profile management.
## Testing
The application has been thoroughly tested to ensure core functionalities are working as expected. Testing covers user authentication, file uploads, instance and group management, and resource handling. Automated JavaScript tests have been written in Postman.
**Hierarchical Structure:**
1. **Instance**
- **Groups**
- **Images**
- **Docs**
- **Videos**
2. **Detailed Structure:**
- **Instance**: Contains ID, title, description, and associated groups.
- **Groups**: Within an instance, includes ID, name, description, and resources categorized by type.
- **Resources**: Within a group, includes categorized resources such as images, documents, and videos with their respective metadata.
**Additional Features:**
- **Cascading Deletion**: When an instance is deleted, all related groups, documents, images, videos, and comments are also removed. Resources are cleaned up from Cloudinary before removing database entries.
- **Multer File Uploads**: Utilizes advanced Multer features like file filtering based on extensions and MIME types to ensure only allowed file types are processed.
## Documentation
For detailed Postman testing documentation, please refer to the
[Postman Testing Documentation](https://documenter.getpostman.com/view/32315664/2sAXjQ2q8C)
Feel free to use this description and the provided documentation link for further information on the ShareHub project.