FileSharingApp
A file-sharing application developed using Django and Django Rest Framework (DRF) that allows users to upload, download, and manage files securely. This application incorporates DRF's core concepts and utilizes the shutil library for zipping files, with SQL for data management. Key features include user authentication, file categorization.
Install / Use
/learn @Anilnayak126/FileSharingAppREADME
📁 File Sharing App
A robust file-sharing application built using Django and Django REST Framework (DRF), combined with HTML and CSS for the front-end. This project includes advanced REST API capabilities, along with secure file management, upload, and download functionalities. The app also incorporates the shutil module for creating ZIP files, enabling users to bundle multiple files for easy sharing and download.
📌 Features
- File Upload & Management: Users can upload files, view file details, and manage their uploads.
- File Compression: Multi-file compression into ZIP format using the
shutilmodule for efficient storage and download. - Secure File Sharing: Secure access to file downloads with REST API endpoints.
- RESTful API: Advanced API endpoints with authentication and authorization for file upload, retrieval, and download.
- Responsive Design: A clean, responsive design created with HTML and CSS.
🛠️ Tech Stack
- Backend: Django, Django REST Framework,
shutilfor ZIP functionality - Frontend: HTML, CSS
- Database: SQLite3
🚀 Getting Started
Prerequisites
- Python 3.x
- Django
- Django REST Framework
Installation
-
Clone the Repository
https://github.com/Anilnayak126/FileSharingApp.git cd FileSharingApp -
Backend Setup
- Create a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install the necessary dependencies
pip install -r requirements.txt - Set up the database and run migrations:
python manage.py migrate
- Create a superuser to access the admin panel (optional):
python manage.py createsuperuser
- Start the Django development server:
python manage.py runserver
- 📂 Project Structure
file-sharing-app/
│
├── file_sharing/ # Main Django project directory
│ ├── settings.py # Django settings
│ ├── urls.py # Project URL configurations
│ ├── views.py # API and file management views
│ ├── serializers.py # DRF serializers
│ ├── models.py # Database models for file storage
│ └── admin.py # Admin configurations
│
├── static/ # HTML and CSS files
│ ├── css/ # CSS styling for the front-end
│ └── templates/ # HTML templates
│
├── requirements.txt # List of project dependencies
└── README.md # Project documentation
- 🔥 Key Highlights
- Advanced API Development: File management endpoints are structured with RESTful principles, featuring secure file access and comprehensive response handling.
- File Compression: Efficient use of Python's shutil to compress multiple files into a single ZIP file, enhancing download efficiency and usability.
- Secure Access: Token-based authentication for controlled access to file resources and actions.
- Simple UI: HTML/CSS-based front-end for straightforward file upload and management.
- 📝 Future Improvements
- Frontend Framework Integration: Consider integrating a JavaScript framework (like React or Vue.js) for a more dynamic user interface.
- Cloud Storage Integration: Implement cloud storage solutions (like AWS S3 or Google Cloud Storage) for enhanced scalability and file management.
- User Notifications: Add email or push notifications to inform users about file uploads or downloads. File Versioning: Introduce file versioning to keep track of changes made to files over time.
Instructions
- Replace
https://github.com/Anilnayak126/FileSharingApp.gitwith the actual URL of your GitHub repository. - Update the email address in the contact section to your actual email.
- Save this content as
README.mdin your project directory.
This enhanced README.md provides a detailed overview of your project, guiding users on setup, features, and potential future improvements!
Related Skills
oracle
340.5kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
prose
340.5kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
claude-opus-4-5-migration
84.2kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
Command Development
84.2kThis skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
