Skip to content

Sleepy-gogo/coonspace

Repository files navigation

CoonSpace✨📝

A free and open-source platform for sharing markdown notes instantly. Simply drag and drop your markdown files, get a permalink, and share with anyone.

CoonSpace Banner

🚀 Features

  • Drag & Drop - Upload markdown files with a simple drag and drop
  • Instant Sharing - Get a permalink immediately to share with anyone
  • Syntax Highlighting - Beautiful code block highlighting for 100+ languages
  • Custom Slugs - Create memorable URLs for your important documents
  • Dark Mode - Easy on the eyes, perfect for developers
  • Mobile Friendly - View and share on any device

🛠️ Tech Stack

  • Next.js 15 - React framework with App Router
  • TypeScript - Type-safe code
  • Tailwind CSS - Utility-first styling
  • Clerk - Authentication and user management
  • Turso - SQLite database for edge computing
  • UploadThing - File storage and management
  • PostHog - Privacy-friendly analytics

🏁 Getting Started

Prerequisites

  • Node.js 20+
  • bun (recommended) or pnpm/npm/yarn
  • Accounts for the following services:

Installation

  1. Clone the repository

    git clone https://github.com/sleepy-gogo/coonspace.git
    cd coonspace
  2. Install dependencies

    bun install
  3. Set up environment variables

    cp .env.example .env.local

    Edit .env.local with your service credentials:

    • Clerk API keys
    • Turso database URL and auth token
    • UploadThing API keys
    • PostHog project API key
  4. Set up Clerk webhook Create a webhook in the Clerk dashboard and point it to yourdomain.com/api/webhook/clerk. This is essential for handling user deletion correctly, otherwise notes from deleted users will remain in the app. More information on Clerk webhooks

  5. Run the development server

    bun dev
  6. Open http://localhost:3000 to see the app running

👨‍💻 Admin Panel

For simplicity, the admin panel is integrated under the /admin route, protected by Clerk's middleware.

To access it, you need to:

  1. Sign in with your account
  2. Modify your account's public metadata to include role:"admin"
  3. This can be done through the Clerk dashboard:
    • Go to User Management
    • Select your user
    • Add public metadata object with role:"admin"

For larger applications, a separate admin panel under an admin. subdomain would be preferable, but for this project, the integrated approach is simpler to maintain.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


More than a Note taking app, CoonSpace it a tool to quickly share any type of markdown file, whether it's code snippets, documentation, or notes, CoonSpace makes sharing markdown as simple as possible.

The project is and will always remain:

  • 100% Free - No premium tiers or hidden costs
  • Open Source - Transparent and community-driven

Built with ❤️ by sleepy-gogo

About

Simple markdown sharing app built on NextJs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors