Hi everyone! I wanted to share a project I have been working on called FileSpace. It’s a simple and self hostable personal file storage app. I built it to learn how cloud file management like Google Drive works and to practice integrating S3 with Django.
Key Features
- Upload single files, multiple files or entire folders
- Download files with original filenames preserved
- Recursive folder downloads as
.ziparchives - Unlimited nested folder hierarchy support
- File and folder search
- Recursive file and folder deletion
- Secure user authentication and isolated per user file storage
- Multi-factor authentication for extra account protection
- Brute force login protection with rate limiting
- UUID based secure file storage
- Automated discord webhook alerts for new account registrations
Tech Stack
Built with Django, AWS S3, PostgreSQL and Bootstrap.
If you are interested in checking out the code, the database schema or just want to see some demo screenshots here is the repo:
→ GitHub - KafetzisThomas/FileSpace: Simple personal file storage. · GitHub
I would really appreciate any feedback especially on my Folder and File model architecture, how they connect to each other with foreign keys and how subfolders are managed.
General suggestions for improvement are also welcome!