This Flask application provides a cloud storage system where users can upload, manage, and download their files. It also includes user management with authentication and authorization, using Flask-Login and SQLAlchemy.
- User Registration & Login: Users can register, log in, and reset passwords.
- File Management: Upload, download, edit, and delete files.
- Storage Quota: Users have a configurable storage quota.
- Admin User Management: Admins can view and update user quotas.
- Email Notifications: Notifications and password reset links are sent via email.
-
Clone the repository:
git clone https://github.com/gazerbim/Python-Cloud cd Python-Cloud -
Install dependencies:
pip install -r requirements.txt
-
Set up environment:
- Ensure you have a valid SMTP server for sending emails.
- Configure your email and admin credentials inside the beginning
app.py.
-
Run the application:
- Use the start.bat file.
-
Access the application:
- Go to
http://127.0.0.1:15000in your browser.
- Go to
.
├── app.py # Main Flask application
├── instance/db.sqlite # SQLite database
├── templates/ # HTML templates
├── uploads/ # Folder for user uploads
├── server.log # Log file for server activity
├── requirements.txt # Python dependencies
└── README.md # This documentation file
/- Home page/register- Register a new account/login- Log in to an existing account/upload- Upload a file (requires login)/download/<filename>- Download a file (requires login)/delete/<filename>- Delete a file (requires login)/user_management- Admin-only route for managing users- and other.
- Register: Create an account using your email.
- Login: Once registered, you can log in to access your personal storage.
- Upload files: After logging in, use the upload form to add files to your cloud storage.
- Manage files: Download, delete, or edit uploaded files.
- Admin: Admin users can view all users, update storage quotas, and manage accounts.
- Implement folder management for better organization of user files.
- Enable file sharing with access permissions.