This is a simple file sharing application built with React for the frontend and Express.js for the backend. It allows users to upload, download, and manage files through a user-friendly interface.
- Drag and drop file upload
- File list with type icons
- File search functionality
- Download and delete files
- Real-time feedback with Snackbar notifications
- Frontend: React, Material-UI, Axios
- Backend: Express.js, Multer
- Database: File system (for simplicity)
- Node.js (v14 or later)
- npm (v6 or later)
-
Navigate to the backend directory:
cd backend
-
Install dependencies:
npm install
-
Start the backend server:
npm run dev
The server will start on http://localhost:5000
.
-
Navigate to the frontend directory:
cd frontend
-
Install dependencies:
npm install
-
Start the frontend development server:
npm run dev
The application will be available at http://localhost:5173
.
- Open your browser and go to
http://localhost:5173
. - Use the drag and drop area or click to select files for upload.
- View the list of uploaded files, search for specific files, or use the download and delete options.
POST /upload
: Upload file(s)GET /files
: Get list of all filesGET /download/:id
: Download a specific fileDELETE /files/:id
: Delete a specific file
Contributions are welcome! Please feel free to submit a Pull Request.