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" section.
- View and manage uploaded files in the "View" section.
- Download or delete files as needed.
To experience the RMLD File Server, you can use the following credentials:
- Username: sampleuser
- Password: samplesample@8
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.