Skip to content
 
 

Latest commit

 

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FileDrop

About

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.

Project Walkthrough [Demo Video]

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.

FileDrop Demo

Tech Stack

  • 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.

Key Features

  • 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.

Use Cases

  • 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.

Installation

  1. Clone the Repository

  2. Install Dependencies

    npm install
  3. Set Up Environment Variables

    Create a .env file in the root directory and add the following:

    PORT=3000
    DATABASE_URL=your_mongodb_uri
  4. Run the Application

    npm start

    The application will start on http://localhost:3000.

    Collaborators

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages