Overview of My Appwrite x DEV Hackathon Submission
Pingvin Share is a self-hosted file-sharing platform built with the awesome BaaS (Backend as a Service) Appwrite.
You can try it by your own on https://pingvin-share.dev.eliasschneider.com
The idea for this project came because I want to share some confidential files with my family.
Because privacy is important to me and I love self-hosting I searched for a self-hosted file sharing platform.
I only found big solutions like Nextcloud but I wanted a lightweight service without advanced features that I don't need.
β¨ Features
- Upload as big files as you want. Only your hard drive will be your limit
- Create a simple share with a link
- Secure your share with a visitor limit and a password
- Share your files with specific emails and send an invitation email
β¨οΈ Technologies
Appwrite
Appwrite is the core for Pingvin Share. Pingvin Share uses Appwrite Storage, Database, Authentication and Cloud functions.
NextJS
This project uses NextJS as the frontend and for some API endpoints.
Mantine
Mantine is a beautiful React component library. It ships useful hooks, awesome components, a form handler, a modal manager, a notification manager and many more.
π Submission Category
Web2 Wizards
Link to Code
stonith404 / pingvin-share
A self-hosted file sharing platform.
Pingvin Share is a self-hosted file sharing platform made for the Appwrite Hackathon.
πͺ Showcase
Demo: https://pingvin-share.dev.eliasschneider.com
β¨ Features
- Create a simple share with a link
- Secure your share with a visitor limit and a password
- Share your files with specific emails and send an invitation email
- Dark mode
β¨οΈ Setup
At the moment, the setup is a bit time-consuming. I will improve the setup in the future.
1. Appwrite
Pingvin Share uses Appwrite as backend. You have to install and setup Appwrite first
- Install Appwrite
- Create an Account on your Appwrite instance
- Change the
_APP_STORAGE_LIMIT
variable in the.env
file of Appwrite to your prefered max size limit per share
2. Frontend
First of all you have to start the Docker container.
- Clone the
docker-compose.yml
file and the.env.example
file from this repository - Rename the
.env.example
file to.env
- Start the container with
docker-compose up -d
β¦
ππΌββοΈ About me
My name is Elias and I'm studying software engineering in Switzerland. This is my first and definitely not least hackathon participation. I've really enjoyed to create this small project and learned a lot!
You can find more about me on https://eliasschneider.com
Top comments (6)
Looks awesome!!
Congratulations on joining your first hackathon! Great choice by the way. And nice job on the project!
Hi Elias,
Thanks for sharing this really great app.
Can you tell us how to translate / add others languages.
Regards
Hey, thanks :) Currently we don't support multiple languages, but if you want to see this feature, feel free to create an issue on GitHub!
How cool! We have a lot of interesting things happening in our Appwrite discord, we would love to see you there!
discord.gg/KKZprAnX
I'm already a member since one yearπ