Skip to content

Vinit1014/secureShare

Repository files navigation

SecureShare Web App

SecureShare is a web application designed for secure and efficient file transfer between registered users. This app prioritizes the security and privacy of its users by incorporating features such as private key encryption and a robust authentication system.

Features

  • User Registration and Login: Users can easily register and log in to the app.
  • Private Key Display: Upon successful login, users are shown a toast notification displaying their private key.
  • Secure File Transfer: Users can send files to any other registered user securely.
  • Inbox: Users can view files sent to them by others, and download them using their private key for decryption.
  • File Deletion: Users have the ability to delete files they no longer need.

Note:

The app is designed for transferring small, important files due to the Supabase free tier storage limit of 87MB.

Technologies Used

  • NextJS: React framework for server-rendered applications and static websites.
  • TypeScript: Type-safe JavaScript for enhanced code reliability.
  • Supabase: Backend-as-a-service providing authentication, storage, and database solutions.
  • TailwindCSS: Utility-first CSS framework for rapid UI development.

Setup and Installation

To set up and run this project locally, follow these steps:

  1. Clone the Repository:
    git clone https://github.com/yourusername/secureshare.git
    cd secureshare
  2. Install Dependencies:
    npm install
  3. Set Up Environment Variables:

    Create a .env.local file in the root directory and add your Supabase keys and other necessary environment variables:

    NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
    NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
  4. Run the Development Server:
    npm run dev

    Open http://localhost:3000 with your browser to see the result.

Usage

  1. Register: Sign up with a unique username and password.
  2. Login: Log in with your credentials. Your private key will be shown in a toast notification.
  3. Send File: Navigate to the file transfer section, enter the recipient's username, and upload the file.
  4. Inbox: View incoming files, download, and decrypt them using your private key. You can also delete files you no longer need.

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

Acknowledgements

  • Supabase for providing backend services.
  • TailwindCSS for the beautiful and responsive UI design framework.
  • The NextJS and TypeScript communities for their invaluable resources and support.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages