Skip to content

rtewari056/easyshare

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

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

Releases

No releases published

Packages

 
 
 

Contributors