A full-stack service for sharing code snippets, text, and files that automatically vanish after a set period.
Built with a React frontend and Spring Boot backend, VanishInk provides a seamless experience for secure, temporary content sharing.
Frontend (React) → Backend (Spring Boot) → Database (MySQL)
↑ ↓
└────→ Cloudinary (File Storage)- Instant Sharing: Generate unique, shareable links with one click
- Multiple Content Types: Support for text, code, images, and files
- Smart Expiration: Automatically deletes content after configurable durations
- One-Time Links: "Burn after reading" option for sensitive information
- QR Code Generation: Quick mobile sharing with generated QR codes
- Responsive Design
- Copy Functionality: One-click copy for both links and content
- Syntax Highlighting: Beautifully formatted code with language detection
- Multiple File Upload: Upload and share multiple files simultaneously
- File Management: Intuitive interface for adding/removing files before submission
- Custom Expiration Times: Flexible duration settings (minutes, hours, days, weeks)
- Real-time Validation: Client and server-side input validation
- Automatic Cleanup: Scheduled database maintenance
Frontend
- React.js
- QR Code generation
- CSS3
Backend
- Spring Boot
- Spring Data JPA with Hibernate
- MySQL Database
- Cloudinary API Integration for file storage
- Scheduled tasks with Spring Scheduler
Deployment
- Vercel.com for Frontend
- Render.com for Backend
- MySQL managed database (h2 database temporarily)
- Cloudinary CDN for file storage
- Create → Paste text/code or upload files, add title, set expiration time
- Share → Copy the unique link or scan QR code
- Access → Recipients view content before expiration
- Vanish → Content automatically deleted after expiration or first view
id,vanish_id(unique 8-char identifier)title,content(text),content_type(TEXT/FILE/IMAGE)created_at,expires_at,is_one_timefile_url(for backward compatibility)
id,original_file_name,file_url(Cloudinary)file_size,file_type,vanish_id(foreign key)