Skip to content

A secure, real-time, ephemeral note-sharing web application.

Notifications You must be signed in to change notification settings

Stmol/sendtextme

Repository files navigation

sendtext.me

SvelteKit TypeScript Prisma Tailwind CSS Bun

A secure, real-time, ephemeral note-sharing web application.

sendtext.me allows you to create private, password-protected "spaces" to share notes and text snippets. Notes are synchronized in real-time with everyone who has access to the space, making it perfect for quick collaboration or sharing information between your own devices.

🖼️ Preview

Create a new space Main UI Mobile UI
Create a new space Main UI Mobile UI

✨ Main Features

  • 🔒 Secure Spaces: Every space is protected by a password.
  • 🚀 Real-time Collaboration: Notes are updated instantly across all connected clients using Server-Sent Events (SSE).
  • 🔗 Shareable Links: Spaces are accessible via unique, hard-to-guess URLs.
  • 🤫 Ephemeral Sessions: Access to spaces is session-based and can expire, enhancing privacy.
  • 📱 Mobile-Friendly: Responsive design that works on all devices.
  • ⚡️ Fast & Lightweight: Built with SvelteKit and Bun for optimal performance.
  • 🛡️ Secure by Design:
    • Passwords are securely hashed using bcrypt.
    • Protection against brute-force attacks with rate limiting.
    • Potential for end-to-end encryption of notes (client-side encryption logic is in place).

🛠️ Tech Stack

🚀 Getting Started

Prerequisites

Installation & Setup

  1. Clone the repository:

    git clone https://github.com/your-username/sendtext-me_sveltekit.git
    cd sendtext-me_sveltekit
  2. Install dependencies:

    bun install
  3. Set up environment variables:

    Create a .env file by copying the example file:

    cp .env.example .env

    The default configuration uses a local SQLite database and should work out of the box.

  4. Initialize the database:

    This command will create the SQLite database file and apply the necessary schema.

    bun run db:gen:sqlite
  5. Run the development server:

    bun run dev

    The application should now be running on http://localhost:5173.

Usage

  1. Open the application in your browser.
  2. You will be prompted to create a new "space". Enter a password for your space.
  3. You will be redirected to your new space, which has a unique URL in the address bar.
  4. Share this URL with anyone you want to share notes with. They will need the password to enter the space.
  5. Start typing in the text area. The content will be saved and updated in real-time for all participants.

📜 Scripts

  • bun run dev: Starts the development server.
  • bun run build: Creates a production build of the.
  • bun run preview: Previews the production build locally.
  • bun run check: Runs Svelte check for type checking.
  • bun run db:gen:sqlite: Generates Prisma client and pushes the schema for SQLite.
  • bun run db:gen:neon: Generates Prisma client for Neon (Postgres).

About

A secure, real-time, ephemeral note-sharing web application.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published