An open API service indexing awesome lists of open source software.

https://github.com/yugbhanushali/filedrop

FileDrop is a collaborative file-sharing application built with Next.js, TypeScript, Node.js, Socket.IO, WebRTC, and shadcn/ui. It facilitates direct peer-to-peer file sharing along with real-time chat, fostering seamless collaboration.
https://github.com/yugbhanushali/filedrop

nextjs nodejs socket-io typescript webrtc

Last synced: about 1 year ago
JSON representation

FileDrop is a collaborative file-sharing application built with Next.js, TypeScript, Node.js, Socket.IO, WebRTC, and shadcn/ui. It facilitates direct peer-to-peer file sharing along with real-time chat, fostering seamless collaboration.

Awesome Lists containing this project

README

          

# FileDrop

![ZipURL](./client/public/filedrop-demo.png)

[FileDrop](https://file-drops.vercel.app/) is a collaborative file-sharing application that enables users to seamlessly share files with peers while engaging in real-time chat. Built with Next.js, TypeScript, Node.js, Socket.IO, WebRTC, and shadcn/ui, FileDrop provides a modern and efficient solution for peer-to-peer file exchange.

## Features

- **Peer-to-Peer File Sharing:** Share files directly with other users in a secure and efficient manner.

- **Real-time Chat:** Communicate with peers seamlessly while sharing files, enhancing collaboration.

- **Next.js and TypeScript:** Leverage the power of Next.js for a performant and robust frontend, with the added benefits of TypeScript for type safety.

- **Node.js and Socket.IO:** Utilize Node.js for server-side functionality and Socket.IO for real-time bidirectional event-based communication.

- **WebRTC:** Enable peer-to-peer communication for efficient and direct file sharing without intermediaries.

- **shadcn/ui:** Enhance the user interface with the stylish components provided by shadcn/ui, ensuring an aesthetically pleasing and user-friendly experience.

## Getting Started

### Prerequisites

Make sure you have the following installed:

- Node.js: [Download Node.js](https://nodejs.org/)
- npm (Node Package Manager): Comes with Node.js installation.

### Installation

1. Clone the repository:

```bash
git clone https://github.com/your-username/FileDrop.git
```

2. Install dependencies for both the server and the client:

```bash
# Install server dependencies
cd server
npm install

# Install client dependencies
cd client
npm install
```

### Usage

1. Start the server:

```bash
# Inside the server directory
npm start
```

2. Start the client:

```bash
# Inside the client directory
npm run dev
```

3. Open your browser and go to [http://localhost:3000](http://localhost:3000) to access FileDrop.

## Contributing

Contributions are welcome! Feel free to open issues, submit pull requests, or suggest new features.

## License

This project is licensed under the [MIT License](LICENSE).

## Acknowledgments

- Thanks to the creators and contributors of Next.js, TypeScript, Node.js, Socket.IO, WebRTC, and shadcn/ui for providing the tools and libraries that made this project possible.

Happy file sharing with FileDrop! 🚀