A simple file-sharing application using React.js, Node.js, Express, and AWS S3.
Users can upload files, generate shareable links, and download files seamlessly.
- 📂 Upload files from your local system.
- 🔗 Generate a shareable link for each uploaded file.
- 📥 Download files using the shared link.
- 🔄 Copy link to clipboard for easy sharing.
- ☁ Files stored securely in AWS S3.
- 🛠️Hosted and Deployed on Amazon EC2.
- React.js
- Axios (for API requests)
- CSS for styling
- Express.js (Server)
- AWS SDK (for S3 integration)
- Multer (for handling file uploads)
- dotenv (for environment variables)
- AWS S3 (Amazon Simple Storage Service)
- EC2 (Elastic Cloud Compute)
Follow these steps to set up the project locally.
git clone https://github.com/yashan0202/file_sharing_web.git
cd file_sharing_web
cd frontend
npm install
npm start
The app will run on http://localhost:3000.
cd backend
npm install
Create a .env file in the backend folder and add your AWS credentials:
PORT=5000
AWS_REGION=your-region
AWS_ACCESS_KEY_ID=your-access-key
AWS_SECRET_ACCESS_KEY=your-secret-key
AWS_BUCKET_NAME=your-bucket-name
node server.js
The backend will run on http://localhost:5000.
- Endpoint:
POST /api/files/upload - Request: FormData (file)
- Response:
{
"message": "File uploaded successfully",
"url": "https://your-bucket.s3.your-region.amazonaws.com/filename",
"name": "filename"
}
This project is open-source and available under the MIT License.
- AWS S3 for file storage
- EC2 for Hosting & Deployment
- React.js & Node.js for development
- Node.js & Express for backend
- Multer for handling file uploads
Feel free to fork this repo, create a new branch, and submit a Pull Request (PR).
Developer: Yash
Developer: Rafiya
Developer: Vamshi
Developer: Snehal
Developer: Shruti
Developer: Vinay
Developer: Krutika