Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/innovencelabs/byteshare
Large file sharing app [Community Edition]
https://github.com/innovencelabs/byteshare
aws fastapi github-actions hacktoberfest nextjs open-source python tailwindcss terraform typescript
Last synced: about 1 hour ago
JSON representation
Large file sharing app [Community Edition]
- Host: GitHub
- URL: https://github.com/innovencelabs/byteshare
- Owner: innovencelabs
- License: bsd-3-clause
- Created: 2024-01-13T07:08:00.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-05-04T04:24:05.000Z (6 months ago)
- Last Synced: 2024-05-04T05:20:15.272Z (6 months ago)
- Topics: aws, fastapi, github-actions, hacktoberfest, nextjs, open-source, python, tailwindcss, terraform, typescript
- Language: TypeScript
- Homepage: https://byteshare.io
- Size: 1.15 MB
- Stars: 11
- Watchers: 2
- Forks: 4
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
ByteShare
An open-source file sharing app.
## 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.
## Local Setup
1. Clone the repository
```bash
git clone https://github.com/innovencelabs/ByteShare.git
cd ByteShare
```
2. Install Terraform
3. Configure your AWS account
```bash
aws configure
```
4. Setup Cloudflare R2
5. Create AWS resource using Terraform (only in infrastructure/cloud folder)
```bash
cd ByteShare/infrastructure/cloud
cp terraform.tfvars.example terraform.tfvars
# Add your credentials in terraform.tfvars
terraform init
terraform plan
terraform apply
cd ../../
```
6. Setup your Appwrite account [HERE](https://appwrite.io/)
7. Create your Organisation and Project in Appwrite [TUTORIAL](https://youtu.be/pk92hS_d_ns?t=11&si=emSqp8Mdra_iF-dc)
8. Add the credential values in .env
```bash
cp .env.example .env
# Add your credentials in .env
```
9. Run the application through Docker Compose
```bash
docker compose up --build
```#### By default, UI runs on port **3000** and Middleware runs on port **8000**
## Architecture
![architecture](https://github.com/ambujraj/ByteShare/assets/29935993/ced9c2cd-51ec-4285-a365-22cfde1c3826)## 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