The Secure Research Dataset Sharing System is a production-ready web platform designed to securely share sensitive research datasets with controlled and time-limited access.
The system ensures data confidentiality, integrity, and authorized usage through multi-layer authentication, role-based access control, and hybrid encryption (AES + RSA). It allows researchers to upload encrypted datasets, enables authorized users to access them within defined time limits, and protects data using secure verification mechanisms.
This platform is suitable for academic institutions, research organizations, and secure data-sharing environments where privacy and controlled access are critical.
- Implement secure dataset sharing with controlled access
- Ensure data confidentiality using hybrid encryption
- Provide role-based access control
- Enable time-limited dataset availability
- Implement strong authentication and authorization
- Maintain dataset integrity using digital signatures
- Backend: Flask (Python)
- Database: MongoDB
- Frontend: HTML, CSS, JavaScript
- Authentication: JWT, Email OTP Verification
- Security: AES Encryption, RSA Encryption, SHA-256 Hashing
- Caching: Redis
- Cloud Storage: AWS S3 / MinIO
- Testing: Pytest, MongoMock
- Containerization: Docker
- CI/CD: GitHub Actions
- API Docs: Swagger / OpenAPI
- JWT-based authentication
- Email OTP verification
- Token-based session management
- Multi-layer login security
- Admin → manages users and logs
- Researcher → uploads and shares datasets
- Reviewer → accesses shared datasets
- AES encryption for dataset files
- RSA encryption for key exchange
- End-to-end data protection
- SHA-256 hashing with salt
- Secure credential storage
- Ensures dataset authenticity
- Prevents data tampering
- Validates data integrity
- Controlled dataset availability period
- Automatic access expiration
- AWS S3 / MinIO integration
- Secure file upload and download
- Encrypted storage access
- REST API architecture
- Modular backend structure (API → Services → Core)
- Centralized logging and audit logs
- Rate limiting and brute-force protection
- Request validation and error handling
- Docker containerization
- Redis caching
- Health check endpoint (
/health) - GitHub Actions CI/CD pipeline
- Automated unit and integration testing
Client → Flask API → Authentication → Redis Cache → MongoDB → Secure Storage (S3/MinIO)
Swagger UI available at:
http://127.0.0.1:5000/api/docs
- Pytest unit and integration tests
- MongoMock database isolation
- GitHub Actions automated testing pipeline
- Linting with flake8
Run tests:
pytest
docker-compose up --build
pip install -r requirements.txt
Create a .env file and add required credentials.
python app.py
http://127.0.0.1:5000
- Production-ready backend system design
- Secure dataset sharing platform
- Hybrid encryption architecture
- JWT authentication implementation
- Role-based authorization system
- Cloud storage integration
- Security-focused backend engineering
- Requires proper environment configuration
- Depends on external cloud storage services
- Designed for controlled research environments
- Multi-factor authentication (MFA)
- Advanced monitoring and metrics (Prometheus/Grafana)
- Microservices architecture
- Large-scale distributed deployment
- Blockchain-based dataset verification
Hemanth Gudi
Computer Science Student | Backend Developer | Full Stack Developer





