RMLD File Server is a Django-based web application that allows users to upload, manage, and download files securely with the help of AWS S3 Buckets and ElephantSQL Postgres Cloud Services.
- User authentication: Users need to log in to upload and manage files.
- File Upload: Users can upload files with optional notes. The Backend will store your files will be in AWS S3 Buckets.
- File List: View a list of uploaded files with details.
- File Download: Download files uploaded by the user.
- File Deletion: Delete files uploaded by the user.
- Search: Search for files based on file names.
- View: You can preview/view the file in the browser itself without downloading to your local machine.
- Share: You can now share the link of the file to others for viewing purpose alone.
- Encryption: Provides URL Level Encryption, hence it improves security and user abstraction.
- File Storage Meter: Displays how much space has been consumed by each user.
- Python (3.6 or higher)
- Django (3.x)
- Additional Python packages (see
requirements.txt
)
- Clone the repository:
git clone https://github.com/ravin-d-27/File_Transfer_Server.git
cd File_Server
- Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Apply database migrations:
python manage.py makemigrations
python manage.py migrate
- Create your superuser account:
python manage.py createsuperuser
- Run the Development Server:
python manage.py runserver
The application will be accessible at http://localhost:8000/.
- Log in to the application.
- Upload files using the "Upload" secion.
- View and manage uploaded files in the "View" section.
- Download or delete files as needed.
Feel free to contribute to this project by opening issues or pull requests. Your feedback and contributions are highly appreciated.
This project is licensed under the MIT License - see the LICENSE file for details.