FileDrop is a web-based application designed to simplify and secure the process of sharing files. Whether you need to share a single file or multiple files, FileDrop offers a seamless and user-friendly experience.
Explore the architecture, features, and setup of FileDrop, a web application designed to simplify and secure file sharing. This walkthrough provides comprehensive insights into the project, guiding you through its implementation and showcasing its key functionalities.
- Node.js: JavaScript runtime environment that allows for server-side scripting.
- Express.js: A web application framework for Node.js to handle routing and middleware.
- MongoDB: A NoSQL database for storing file metadata.
- Mongoose: An Object Data Modeling (ODM) library for MongoDB and Node.js.
- bcrypt: A library to hash and compare passwords.
- multer: A middleware for handling multipart/form-data, used for file uploads.
- EJS (Embedded JavaScript Templates): A templating engine for generating HTML markup with JavaScript.
- Easy File Uploads: Upload one or multiple files of any type with ease.
- Password Protection: Enhance the security of your files by encrypting them with a password. Only users with the correct password can access the files.
- Unique Shareable Links: Generate a unique link for each file upload, making it simple to share with others. No more cumbersome email attachments or unreliable file transfer services.
- File Preview: Preview your files before generating the shareable link, ensuring you are sharing exactly what you intend to.
- File Compression: When multiple files are uploaded, they are automatically compressed into a single ZIP file. This makes it convenient for the end-user to download all files at once.
- Enhanced Security: Files are stored securely, and passwords are hashed using bcrypt, ensuring that your data is protected.
- Professional Collaborations: Share documents, presentations, and other files with colleagues securely.
- Personal Use: Send photos, videos, and other personal files to friends and family.
- Academic Purposes: Students and teachers can share assignments, projects, and resources without hassle.
FileDrop leverages modern web technologies to provide a robust and reliable file-sharing platform. With Node.js and Express.js handling the server-side logic, MongoDB managing the file metadata, and Mongoose providing a seamless connection between the two, FileDrop ensures a high-performance and scalable solution. The use of EJS templates allows for dynamic content rendering, making the user interface intuitive and responsive.
In essence, FileDrop aims to make file sharing as easy, secure, and efficient as possible. Whether you need to share a single document or a collection of files, FileDrop provides a trustworthy platform for all your file-sharing needs.
-
Clone the Repository
-
Install Dependencies
npm install
-
Set Up Environment Variables
Create a
.envfile in the root directory and add the following:PORT=3000 DATABASE_URL=your_mongodb_uri
-
Run the Application
npm start
The application will start on
http://localhost:3000.
-
Harshit Anchan
- GitHub: HarshitAnchan
- LinkedIn: Harshit Anchan
- Email: harshitanchan647@gmail.com
-
Darshan Jain
- GitHub: Darshan1412
- LinkedIn: Darshan Jain
- Email: darshanjain768@gmail.com
