Skip to content

innovencelabs/byteshare

ByteShare logo

ByteShare

An open-source file sharing app.

GitHub License GitHub Actions Workflow Status GitHub closed pull requests GitHub commit activity Static Badge Static Badge

Overview

Meet ByteShare, your go-to platform for seamless and secure file sharing. Designed for simplicity, ByteShare offers easy generation of shareable links and QR codes, making file sharing a breeze. Whether it's a single document or a collection of files, ByteShare streamlines the process, ensuring a user-friendly experience for all.

Product Introduction

Local Setup

  1. Clone the repository
git clone https://github.com/innovencelabs/ByteShare.git
cd ByteShare
  1. Install Terraform
  2. Configure your AWS account
aws configure
  1. Setup Cloudflare R2
  2. Create AWS resource using Terraform (only in infrastructure/cloud folder)
cd ByteShare/infrastructure/cloud
cp terraform.tfvars.example terraform.tfvars
# Add your credentials in terraform.tfvars
terraform init
terraform plan
terraform apply
cd ../../
  1. Setup your Appwrite account HERE
  2. Create your Organisation and Project in Appwrite TUTORIAL
  3. Add the credential values in .env
cp .env.example .env
# Add your credentials in .env
  1. Run the application through Docker Compose
docker compose up --build

By default, UI runs on port 3000 and Middleware runs on port 8000

Architecture

architecture

Built with

  • NextJS
  • ShadCN (TailwindCSS)
  • FastAPI
  • AWS DynamoDB
  • Cloudflare R2
  • AWS Cloudwatch
  • Appwrite
  • Resend
  • ClamAV

Deployment

  • Vercel
  • AWS API Gateway and Lambda via SAM deployment
  • Github actions
  • Cloudflare