Secure File Sharing System
A full-stack secure file-sharing web application built using Django (backend) and Angular (frontend). The system focuses on secure data transmission, encryption, and controlled file access between users.
⸻
🚀 Project Overview
This project demonstrates a secure file-sharing system designed to simulate real-world secure data exchange between users. It implements authentication, role-based access control, and encryption mechanisms to ensure safe file storage and transfer.
The system follows a full-stack architecture with a RESTful API backend and a responsive frontend interface.
⸻
✨ Key Features
- User authentication and authorization system
- Secure file upload, download, and preview functionality
- End-to-end encryption using AES-256-GCM
- RSA-based key exchange for secure communication
- Role-based access control for file permissions
- REST API integration between frontend and backend
- File sharing between authorized users
⸻
🧰 Tech Stack
Frontend:
- Angular
- HTML, CSS, TypeScript
Backend:
- Django
- Django REST Framework
Database:
- SQLite3
Security:
- AES-256-GCM Encryption
- RSA Encryption for key exchange
Tools:
- Git
- Postman
- VS Code / IntelliJ IDEA
Security Design
- Files are encrypted before storage using AES-256-GCM
- RSA encryption is used for secure key exchange between users
- Authentication system ensures only authorized users can access files
- Access control rules prevent unauthorized file retrieval
This project previously used AWS S3 for cloud file storage. Due to expired AWS credentials, cloud storage integration is currently inactive. However, the core system—including authentication, encryption, file processing, and access control—remains fully functional and demonstrates the intended security architecture.
How to Run the Projec
-
Backend (Django)
-
Frontend (Angular)