Skip to content

SkyVault is a cloud-based file storage solution designed for secure, efficient, and user-friendly file and folder management.

Notifications You must be signed in to change notification settings

Dartpixel/skyvault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌩️ SkyVault – Secure & Seamless Cloud File Storage System

SkyVault is a cloud-based file storage solution designed for secure, efficient, and user-friendly file and folder management. Built with a full-stack architecture, it supports both user and admin roles with differentiated access controls and features. It is ideal for individuals or small teams looking for a self-hosted storage system.


πŸš€ Features

πŸ” User Module

  • User Dashboard: Overview of folders and recent file activities.
  • Manage Folders: Create, rename, or delete folders.
  • Manage Files: Upload, download, or delete files within folders.
  • Change Password: Update user credentials securely.
  • Send Feedback: Communicate feedback directly through the interface.
  • About Project: View app information and version.

πŸ›  Admin Module

  • Admin Dashboard: Overview of platform usage and system health.
  • Manage User Profiles: View, edit, or remove registered users.
  • View All Folders/Files: Monitor all stored content system-wide.
  • Read Feedback: Access and respond to user-submitted feedback.
  • About Project: View admin-level details.

πŸ—οΈ Tech Stack

Layer Technology
Frontend HTML, CSS, ReactJs
Backend Node.js, Express.js
Database MongoDB
Cloud AWS S3 (File Storage)
Authentication JWT (JSON Web Tokens)

πŸ›‘οΈ Security

  • Secrets are stored in .env (excluded from version control)
  • AWS credentials are never pushed to GitHub
  • Role-based access control (RBAC)
  • Input validation and sanitization

Project Overview

Control Flow Diagram

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

βš™οΈ How to Use SkyVault on Another System

Follow these steps to clone, configure, and run SkyVault on a new machine.


🧾 1. Prerequisites

Ensure the following are installed:


πŸ“¦ 2. Clone the Repository

git clone https://github.com/Dartpixel/skyvault.git

cd skyvault

cd backend

npm install

cd frontend

npm install

Create your .env file in /backend and set environment variables

touch .env

PORT=5000

MONGODB_URI=your_mongo_uri

JWT_SECRET=your_jwt_secret

AWS_ACCESS_KEY_ID=your_aws_key

AWS_SECRET_ACCESS_KEY=your_aws_secret

AWS_REGION=your_aws_region

S3_BUCKET_NAME=your_bucket_name

Now run these command for frontned and backend

npm start and npm run dev

πŸ“¬ Feedback and Contribution

We welcome contributions and suggestions. Feel free to:

Your input helps us improve SkyVault continuously!


πŸ§‘β€πŸ’» Author

Kartik Sharma
Developer | Tech Enthusiast πŸ“§ Reach me on LinkedIn


About

SkyVault is a cloud-based file storage solution designed for secure, efficient, and user-friendly file and folder management.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published