A secure, user-friendly file manager web application built using Python Flask, with support for folder creation, file uploads, public access links, and user-specific dashboards.
- User registration and login with hashed passwords
- Session-based authentication
- Redirect to dashboard if already logged in
- Create folders per user
- Upload files to specific folders
- Allowed file types: images (JPG, PNG, GIF), PDFs, Word documents (DOC, DOCX)
- File previews (images and PDFs)
- Public URL generation for sharing files
- File deletion with confirmation
- Displays total size of each folder in MB
- Shows number of files per folder
- Progress bar to visualize storage usage (based on 100 MB quota)
- "Download ZIP" button to download all files in a folder
- Displays logged-in username next to Logout button
- ZIP download of folder contents
- In-memory generation using
io.BytesIOandzipfile
- Fully responsive layout using Bootstrap 5
- Bootstrap icons for folder and file types
- Clean login, register, dashboard, and folder pages
pip install -r requirements.txtpython3 init_db.pypython3 app.pyhttp://127.0.0.1:5000/
flask_file_app/
├── app.py
├── config.py
├── models.py
├── templates/
│ ├── login.html
│ ├── register.html
│ ├── dashboard.html
│ └── folder.html
├── static/uploads/
├── database.db (auto-created)
- Expiring public URLs
- Admin dashboard to monitor users
- Email-based account verification
- Cloud file storage (S3, Cloudinary)