Skip to content

Latest commit

 

History

History
173 lines (130 loc) · 5.76 KB

README.md

File metadata and controls

173 lines (130 loc) · 5.76 KB

File sharing app powered by express js

🚀 Demo

This application is deployed on DigitalOcean. Please check it out 😄 here.

easyShare

🖥️ Tech Stack

Frontend:

HTML5  CSS3  JavaScript 

Backend:

Node JS  HTML5 

Database:

MongoDB 

Email Service:

Sendinblue

Deployed On:

Sendinblue

⚡️ Features

  • Secure file transfer via email, or unique shareable links.
  • Intuitive and friendly UI with drag & drop feature.
  • Toast notifications for actions: uploading files, exceed file size limit, sending email etc.
  • View upload progress on the app.
  • Send large files up to 100 MB per transfer.
  • Files are available up to 24 hours before being automatically and permanently erased from servers.

📁 Project structure

├── backend/
│   ├── config/
│   │   ├── connectToMongoDb.js
│   │   └── cronScript.js
│   ├── handlers/
│   │   └── fileHandlers.js
│   ├── models/
│   │   └── File.js
│   ├── handlers/
│   │   ├── fileHandlers.js
│   │   └── cronScript.js
│   ├── public/
│   │   ├── css/
│   │   │   └── style.css
│   │   ├── img/
│   │   │    ├── download-sd.svg
│   │   │    └── logo.png
│   │   └── favicon.ico
│   ├── routes/
│   │   ├── downloadRoutes.js
│   │   ├── fileRoutes.js
│   │   ├── index.js
│   │   └── showRoutes.js
│   ├── services/
│   │   ├── emailService.js
│   │   └── emailTemplate.js
│   ├── uploads/
│   │   └── .gitkeep
│   ├── views/
│   │   └── download.ejs
│   └── server.js
├── frontend/
│   ├── copy-icon.svg
│   ├── favicon.ico
│   ├── file.svg
│   ├── index.html
│   ├── index.js
│   ├── logo.png
│   ├── style.css
│   └── undraw-upload.svg
├── .env.example
├── .gitignore
├── package-lock.json
├── package.json
└── README.md

📖 Prerequisites

In order to run the project you need node>=16 and npm>=8 installed on your machine.

🚩 Getting Started

1. Clone the easyshare repository:

git clone https://github.com/rtewari056/easyshare.git
cd easyshare

2. Install package dependencies:

In the root directory, run:

npm install

3. Rename .env.example into .env and put all creadentials:

APP_BASE_URL=http://localhost:5002
PORT=5002
MONGO_URI="YOUR_MONGO_CONNECTION_URL"

SMTP_HOST=<YOUR_SMTP_SERVER_HOST_NAME>
SMTP_PORT=587
SMTP_USER=<YOUR_SMTP_SERVER_USER_NAME>
SMTP_PASSWORD=<YOUR_SMTP_SERVER_PASSWORD>

4. Run project:

npm run dev

5. Open your browser and go to http://localhost:5002

👤 Developer

Rohit Tewari

📬 Contact

If you want to contact me, you can reach me through below handles.

LinkedIn Gmail Twitter

📃 License

easyShare is licensed under the MIT License.

Show your support by 🌟 the project