FileDrop 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.
-
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.
Make sure you have the following installed:
- Node.js: Download Node.js
- npm (Node Package Manager): Comes with Node.js installation.
- Clone the repository:
git clone https://github.com/your-username/FileDrop.git
- Install dependencies for both the server and the client:
# Install server dependencies
cd server
npm install
# Install client dependencies
cd client
npm install
- Start the server:
# Inside the server directory
npm start
- Start the client:
# Inside the client directory
npm run dev
- Open your browser and go to http://localhost:3000 to access FileDrop.
Contributions are welcome! Feel free to open issues, submit pull requests, or suggest new features.
This project is licensed under the MIT License.
- 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! 🚀