Skip to content

SainiParv05/MyCloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Project: MyCloud – Personal Cloud Storage

This document outlines my plan to build MyCloud, a personalized cloud storage application developed entirely from scratch.

1. Core Concept & Features

My goal with MyCloud is to create a web application that allows users (including me!) to easily upload, view, download, and delete files through a clean, modern, and responsive interface.

Foundational Features (Milestone 1):

In the first phase, I plan to implement all the core functionalities that make the system usable:

A user authentication system for secure registration and login.

File upload functionality that lets users add files to their personal storage.

A dashboard displaying all uploaded files in either list or grid view.

The ability to download files directly from the dashboard.

The option to delete any unwanted files.

Advanced Features (Milestones 2 & 3):

Once the basics are in place, I’ll move on to adding more advanced capabilities to make MyCloud more feature-rich and user-friendly:

Folder or directory creation and management for better file organization.

Drag-and-drop uploads with progress indicators for a smooth experience.

Image and PDF previews that open directly within the browser.

A search feature to quickly find files.

The ability to generate shareable links (optionally protected by a password or expiry date).

A storage tracker to monitor usage and quotas.

2. Proposed Technology Stack

To bring this idea to life, I’ve chosen technologies that balance simplicity, performance, and scalability:

Backend: I’m using Node.js with Express.js to handle APIs and file I/O operations efficiently.

Frontend: I’ve chosen React.js for building a dynamic, component-based interface that feels modern and responsive.

Database: For storing metadata such as file names, sizes, types, and owners, I’ll be using MongoDB, which integrates seamlessly with Node.js.

File Storage: The files themselves will be stored locally in a dedicated uploads/ folder on the server. Since I’m building this from scratch, I want to handle storage manually — though in a production environment, I’d switch to cloud-based solutions like AWS S3 or MinIO.

Styling: I’ll use Tailwind CSS to design a clean and professional interface without needing to write extensive custom CSS.

File Storage: Local Filesystem. For this project, we'll store the actual files directly on the server's hard drive in a dedicated uploads/ folder. This is the "from scratch" approach. (For a production system, you'd use a service like AWS S3 or MinIO).

Styling: Tailwind CSS. For building a professional-looking UI quickly without writing custom CSS.

About

A personalized cloud storage solution designed to let users seamlessly store, edit, preview, and download files anytime, anywhere.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors