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.
- Host: GitHub
- URL: https://github.com/yugbhanushali/filedrop
- Owner: YugBhanushali
- License: mit
- Created: 2023-12-20T12:47:12.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-13T13:16:12.000Z (over 1 year ago)
- Last Synced: 2025-04-10T00:52:25.643Z (about 1 year ago)
- Topics: nextjs, nodejs, socket-io, typescript, webrtc
- Language: TypeScript
- Homepage: https://file-drops.vercel.app
- Size: 2.12 MB
- Stars: 41
- Watchers: 1
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FileDrop

[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! 🚀