Skip to main content

A multi-user file sharing system built with Streamlit, SQLAlchemy, and SQLite.

Project description

ShareSphere

ShareSphere is a multi-user file sharing system built with Streamlit, SQLAlchemy, and SQLite. It allows users to upload, share, and download files within a group or with specific users.

Features

  • User authentication and authorization
  • File upload and download
  • File sharing with groups or specific users
  • Admin panel for managing users, files, and groups

What ShareSphere Can Do

User Features

  • Login and Logout: Secure authentication for users to access the system.
  • Upload Files: Users can upload files and add comments.
  • Download Files: Users can download files they have uploaded or that have been shared with them.
  • Share Files: Users can share files with specific users or groups.
  • View Shared Files: Users can view files shared with them by others.
  • Group Management: Users can view and request to join groups.
  • User Settings: Users can change their password.

Admin Features

  • Manage Users: Admins can create, delete, and reset passwords for users.
  • Manage Files: Admins can view and delete any files uploaded by users.
  • Manage Groups: Admins can create and manage user groups.
  • View Logs: Admins can view system logs to monitor activities and troubleshoot issues.
  • Approve/Reject Group Requests: Admins can approve or reject user requests to join groups.

Setup

Prerequisites

  • Python 3.8 or higher

Installation

Using pip

  1. Install the ShareSphere package using pip:
pip install sharesphere
  1. Initialize the database and create an admin account:
sharesphere init

During initialization, you will be prompted to provide configuration details such as database URL, upload folder, log folder, log level, backup folder, and backup schedule. These details will be saved to a config.yaml file.

  1. Start the ShareSphere application:
sharesphere start
  1. Open your web browser and navigate to http://localhost:8501 to access the ShareSphere application.

Using Poetry for Development or Building from Source

  1. Clone the repository:
git clone https://github.com/veerupandey/sharesphere.git
cd sharesphere
  1. Install the required packages using Poetry:
poetry install
  1. Initialize the database:
poetry run sharesphere init
  1. Run the Streamlit application:
poetry run streamlit run sharesphere/app.py
  1. Open your web browser and navigate to http://localhost:8501 to access the ShareSphere application.

Project Structure

sharesphere/
├── admin.py
├── app.py
├── auth.py
├── cli.py
├── config.py
├── database.py
├── file_manager.py
├── models.py
└── README.md
  • admin.py: Admin functionalities for managing users, files, and groups.
  • app.py: Main Streamlit application.
  • auth.py: Authentication and authorization logic.
  • cli.py: Command-line interface for initialization and starting the application.
  • config.py: Configuration settings.
  • database.py: Database setup and connection.
  • file_manager.py: File upload, download, and management logic.
  • models.py: SQLAlchemy models for the database.

Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your changes.

License

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

Contact

For any questions or suggestions, please contact rakeshpandey820@gmail.com.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sharesphere-1.0.2.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sharesphere-1.0.2-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file sharesphere-1.0.2.tar.gz.

File metadata

  • Download URL: sharesphere-1.0.2.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.11.11 Linux/6.8.0-1020-azure

File hashes

Hashes for sharesphere-1.0.2.tar.gz
Algorithm Hash digest
SHA256 851a755edfe7ce0b3a680a04300119d4bdc2592c7d80f6c175f82eb453449570
MD5 1eac1be35d660e06f65024678bc08806
BLAKE2b-256 e860e004a7d6a0bd667ccd2e7fc51cd248606d3d31bb28759390d6379ffa86a6

See more details on using hashes here.

File details

Details for the file sharesphere-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: sharesphere-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 21.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.11.11 Linux/6.8.0-1020-azure

File hashes

Hashes for sharesphere-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dac9d58f497692b29fd4362a5a083bb47184eeae0ac3e831eaa7e70615518e87
MD5 df919d4baa2204cbf10cebe4015cf624
BLAKE2b-256 105a06a8b548356f59d64f052e97d1d090f11af32592c2f37d739b8262ace805

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page