Skip to content

This project is a secure platform for image storage and sharing, using Firebase for real-time management and authentication. It offers easy image upload, storage, viewing, and sharing with robust access control.

License

Notifications You must be signed in to change notification settings

sandundil2002/Safe-Share

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Typing SVG

project-image

Safe Share is a secure and user-friendly file storage and sharing platform leveraging Firebase services for real-time database management authentication and file storage. The platform allows users to upload store view share and manage their files ensuring secure access control and smooth file handling via a simple interface.

🚀 Demo

https://sandundil2002.github.io/Safe-Share/

🧐 Features

Here're some of the project's best features:

  • User Authentication:

    • Users can securely sign up or log in to their accounts using Firebase Authentication.
    • Authentication state persists across sessions for better user experience.
  • File Upload:

    • Users can upload files securely to Firebase Storage.
    • File metadata (such as filename, upload timestamp, and download URL) is stored in Firebase Realtime Database for easy management.
  • View Uploaded Files:

    • Uploaded files are displayed dynamically as image cards in the dashboard, with options to copy the link or delete the file.
  • Copy Link:

    • Users can generate and copy public file URLs with a single click to share with others.
  • Delete Files:

    • Users can securely delete their files from Firebase Storage, and the corresponding metadata is removed from the Firebase Realtime Database.
  • Real-time Feedback:

    • A progress bar is displayed during file uploads to track the upload percentage in real time.
    • Success or failure alerts are shown using SweetAlert popups for a seamless user experience.
  • Responsiveness:

    • The application is designed to be fully responsive, ensuring usability across a range of devices (mobile, tablet, desktop).

Project Screenshots:

project-screenshot

project-screenshot

project-screenshot

project-screenshot

project-screenshot

project-screenshot

Usage Instructions

  1. User Registration & Login

    • Users can register for a new account or log in to an existing one.
    • The profile picture is dynamically generated based on the first letter of their username.
  2. Uploading Files

    • After logging in, users can access the dashboard to upload files.
    • The uploaded file is stored in Firebase Storage, and the metadata (such as file URL and timestamp) is saved in Firebase Realtime Database.
    • The progress of the file upload is displayed with a real-time progress bar.
  3. Managing Files

    • Users can view their uploaded files as image cards.
    • Copy Link: Copy the file URL to share with others.
    • Delete: Remove the file from storage and its corresponding metadata.
  4. Logout

    • Users can log out from the application using the "Sign Out" button, which will redirect them to the login page.

🛠️ Installation Steps:

1. Clone the Repository

git clone https://github.com/sandundil2002/Safe-Share.git

2. Firebase Setup: Go to the Firebase Console.

3. Create a new Firebase project.

4. Enable Firebase Authentication Realtime Database and Storage in the Firebase console.

5. In the project settings create a new web app and copy the Firebase configuration keys.

6. Add Firebase Configuration

const firebaseConfig = {     apiKey: "YOUR_API_KEY"     authDomain: "YOUR_AUTH_DOMAIN"     databaseURL: "YOUR_DATABASE_URL"     projectId: "YOUR_PROJECT_ID"     storageBucket: "YOUR_STORAGE_BUCKET"     messagingSenderId: "YOUR_MESSAGING_SENDER_ID"     appId: "YOUR_APP_ID" };

7. Run Locally: You can open index.html directly in your browser or run a local server

💻 Built with

Technologies used in the project:

  • HTML5: For structuring the layout and defining the components of the app.
  • CSS3: For styling and ensuring a modern responsive design.
  • Bootstrap 5: To create responsive layouts and user-friendly interfaces with prebuilt UI components.
  • JavaScript (ES6+): Used for managing the core functionality including interaction with Firebase services.
  • Firebase Authentication: Provides secure user login and registration functionality.
  • Firebase Realtime Database: Used to store metadata for each file upload such as the file URL name and timestamp.
  • Firebase Storage: Secure cloud storage used for file uploads with download and delete functionality.

🛡️ License:

This project is licensed under the MIT License. See the LICENSE file for details.

About

This project is a secure platform for image storage and sharing, using Firebase for real-time management and authentication. It offers easy image upload, storage, viewing, and sharing with robust access control.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published