Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

πŸš€ System Paster

Transfer text between devices instantly using QR codes.

Ever wished you could just beam text from one device to another? No apps. No logins. No searching through endless chats. Just paste, scan, done. That's System Paster.


❌ The Problem with Traditional Methods

Let's be real. When you need to move a quick piece of text between devices, this is what happens:

  1. Open WhatsApp
  2. Search your own chat or message yourself
  3. Paste the text
  4. Send it
  5. Open WhatsApp on another device
  6. Find the message (again)
  7. Copy the text

Result: 7 steps, 3-5 minutes wasted on something that should take 10 seconds.


βœ… The System Paster Solution

Here's how it actually works:

  1. Open the website
  2. Paste your text
  3. Click send
  4. Scan the QR code from another device
  5. Copy your text instantly

That's it. No login. No account. No searching. Just pure simplicity.


πŸ“Š The Comparison

Feature Traditional Method System Paster
Steps 7️⃣ 5️⃣
Time Required ⏱️ 3-5 minutes ⚑ 10-30 seconds
Login Needed βœ‹ Yes βœ… No
Works Everywhere πŸ“± Limited 🌐 All browsers
Searching Required πŸ” Yes ✨ No
Privacy πŸ–₯️ Server-stored πŸ”’ Temporary session

🎯 Key Features

  • πŸ”— QR-Based Transfers β€” Unique QR code for every transfer
  • πŸ”“ Zero Login Required β€” No signup, no passwords, no headaches
  • ⚑ Blazing Fast β€” Transfer text in seconds across devices
  • πŸ†” Unique Sessions β€” Each transfer gets its own secure ID
  • πŸ“± Works Everywhere β€” Desktop, tablet, mobile browsers
  • πŸ”’ Auto Expiring β€” Messages disappear automatically for privacy

πŸ”„ How It Works

πŸ“± Device 1: Sender
 ↓
πŸ“ Paste your text
 ↓
🎲 Generate unique Session ID
 ↓
πŸ’Ύ Backend stores temporarily
 ↓
πŸ“² QR code appears on screen
 ↓
πŸ“Έ Device 2: Receiver scans QR
 ↓
πŸ”— Backend retrieves instantly
 ↓
✨ Text appears on Device 2
 ↓
πŸ“‹ One-click copy & done!

Architecture Overview

  • 🎨 Frontend: React handles the UI and displays your QR code
  • βš™οΈ Backend: Spring Boot API manages the data flow
  • πŸ’Ύ Database: MySQL keeps your message safe (temporarily)
  • πŸ“² QR Code: Encodes the session ID for seamless scanning

πŸ› οΈ Tech Stack

Frontend

  • βš›οΈ React.js β€” Modern UI components
  • ⚑ Vite β€” Lightning-fast development
  • 🌐 Axios β€” Talk to the backend
  • πŸ›£οΈ React Router β€” Handle URL sessions

Backend

  • β˜• Java + Spring Boot β€” Powerful API
  • πŸ—„οΈ Spring Data JPA β€” Database magic
  • πŸ’Ύ MySQL β€” Secure storage

Tools

  • πŸ™ Git & GitHub β€” Version control
  • πŸ’» VS Code β€” Code editor

πŸ“ Project Structure

System-Paster/
β”œβ”€β”€ 🎨 frontend/
β”‚ β”œβ”€β”€ src/
β”‚ β”‚ β”œβ”€β”€ components/
β”‚ β”‚ β”‚ β”œβ”€β”€ TextInput.jsx
β”‚ β”‚ β”‚ β”œβ”€β”€ QRDisplay.jsx
β”‚ β”‚ β”‚ └── MessageReceiver.jsx
β”‚ β”‚ β”œβ”€β”€ pages/
β”‚ β”‚ β”‚ β”œβ”€β”€ SendPage.jsx
β”‚ β”‚ β”‚ └── ReceivePage.jsx
β”‚ β”‚ β”œβ”€β”€ services/
β”‚ β”‚ β”‚ └── api.js
β”‚ β”‚ └── App.jsx
β”‚ └── package.json
β”‚
β”œβ”€β”€ βš™οΈ backend/
β”‚ β”œβ”€β”€ src/main/java/com/systempaster/
β”‚ β”‚ β”œβ”€β”€ controller/
β”‚ β”‚ β”‚ └── MessageController.java
β”‚ β”‚ β”œβ”€β”€ service/
β”‚ β”‚ β”‚ └── MessageService.java
β”‚ β”‚ β”œβ”€β”€ repository/
β”‚ β”‚ β”‚ └── MessageRepository.java
β”‚ β”‚ β”œβ”€β”€ model/
β”‚ β”‚ β”‚ └── Message.java
β”‚ β”‚ └── SystemPasterApplication.java
β”‚ └── pom.xml
β”‚
└── πŸ“š docs/
 └── API_DOCUMENTATION.md

πŸ”Œ API Endpoints

1️⃣ Create Session

Generates a unique session ID for each transfer. This ID gets encoded into your QR code.

POST /session

Response πŸ“€

{
 "sid": "363c9d43-8920-4a6d-8a2f-8cdb85b3574c"
}

2️⃣ Save Message

Store your text message with the session ID. It lives temporarily in the database until retrieved.

POST /save
Content-Type: application/json

Request πŸ“₯

{
 "sid": "363c9d43-8920-4a6d-8a2f-8cdb85b3574c",
 "message": "Hello from System Paster"
}

Response βœ…

{
 "message": "Saved successfully"
}

3️⃣ Retrieve Message

Get the stored message using the session ID. Receiver devices call this to fetch the text instantly.

POST /get-message
Content-Type: application/json

Request πŸ“₯

{
 "sid": "363c9d43-8920-4a6d-8a2f-8cdb85b3574c"
}

Response πŸ“¨

{
 "message": "Hello from System Paster"
}

πŸš€ Getting Started

Prerequisites

  • Node.js (v16+)
  • Java JDK (v11+)
  • MySQL (v8+)

Frontend Setup

cd frontend
npm install
npm run dev

πŸŽ‰ Runs on http://localhost:5173

Backend Setup

cd backend
mvn clean install
mvn spring-boot:run

πŸŽ‰ Runs on http://localhost:8080

Database Setup

CREATE DATABASE system_paster;
CREATE TABLE messages (
 id INT AUTO_INCREMENT PRIMARY KEY,
 session_id VARCHAR(255) UNIQUE NOT NULL,
 text LONGTEXT NOT NULL,
 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
 expires_at TIMESTAMP DEFAULT DATE_ADD(NOW(), INTERVAL 1 HOUR)
);
CREATE INDEX idx_session_id ON messages(session_id);

πŸ’‘ Use Cases

  • πŸ“‹ Share code snippets instantly
  • πŸ“ž Transfer phone numbers in seconds
  • πŸ”— Pass URLs without typing
  • πŸ“ Quick temporary notes
  • πŸ”‘ Share API keys securely

🎯 Future Enhancements

  • πŸ”„ Real-time WebSocket transfers
  • πŸ“ File sharing support
  • πŸ–ΌοΈ Image uploads
  • ⏰ Custom message expiry
  • πŸ” End-to-end encryption
  • πŸ“² PWA support
  • 🎨 Mobile UI improvements

🀝 Contributing

Want to make System Paster better? We'd love your help!

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m '✨ Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

i️ About This Project

System Paster solves a real, everyday frustration: getting text from one device to another shouldn't be complicated. This project showcases full-stack development done rightβ€”clean UI, powerful backend, and efficient data flow.

Perfect for developers who value their time and want a no-nonsense way to share quick information across devices.


πŸ†˜ Support

Found a bug? Have an idea? Create an issue on GitHub. We're here to help!


πŸ“„ License

Open source under the MIT License.


Built with ❀️ for developers who hate wasting time

Star ⭐ us on GitHub!

About

A QR code-based text sharing application built with React and Spring Boot, enabling seamless cross-device clipboard sharing.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /