MY DRIVE is a full‑stack web application for storing files and file manager with secure user access, built on AWS S3 infrastructure.
- User Authentication – Secure JWT-based authentication with password hashing.
- Scalable Cloud Storage – Leverages AWS S3 for robust and highly available file storage, allowing for seamless management of files of any size.
- Secure File Access – Generates pre-signed URLs to provide temporary, secure, and direct access to your files, enhancing data privacy and control.
- Efficient Metadata Management – Utilizes a lightweight SQLite database to efficiently store and manage metadata for all uploaded files.
- Containerized Deployment – Fully dockerized for easy, consistent, and reproducible deployment across any environment, simplifying the setup and scaling process.
- Frontend: HTML, CSS, JAVASCRIPT
- Backend: Node.js, Express.js
- Database: SQLite
- Storage: AWS S3
- Authentication: JWT with bcrypt
- Deployment: Docker
-
Clone or extract the repository.
-
Navigate to the
srcandpublicdirectories and runnpm installin each to install dependencies. Ensure you have Node.js installed. -
Create a
.envfile based on.env.exampleand set:AWS_ACCESS_KEY_ID= <your access key ID> AWS_SECRET_ACCESS_KEY= <your secret access key> AWS_S3_REGION= <your s3 bucket region> AWS_S3_BUCKET_NAME= <your s3 bucket name> JWT_SECRET= <your secret key>
-
Start the backend server:
node server.js
-
Start the frontend in development mode:
npm run dev
The frontend will run at
http://localhost:3000.
To generate an optimized production build of the frontend, run:
npm run build
npm startThis builds the app for production and starts a server that serves the prebuilt pages.
docker push uniquejn30/mydrive:tagname- Home Page: Visit the home page and sign up or sign In (Authorize Your Requests: For all protected actions).
- Upload Files: You can upload a file by Drag & Drop or Click on upload files (Your file will be securely stored in AWS S3).
- Access Your Files Anywhere: Easily view or download your files from any device with an internet connection.
- Control Your Data: You have full control over your files. Only you can see your files, and you can add or delete them whenever you want.
| Operation | Screenshot |
|---|---|
| ✅ Home | ![]() |
| ✅ SignIn | ![]() |
| ✅ Dashboard | ![]() |
| ✅ Upload Files | ![]() |
| ✅ Download & delete files | ![]() |
Contributions are welcome! Fork the repository and open a pull request with your improvements.
This project is licensed under the MIT License.




