Skip to content

A full-featured Notion clone with real-time sync, rich text editing, infinite nesting, file uploads, custom covers/icons, auth via Clerk, and a responsive UI—built with Next, Convex, and Tailwind.

License

Notifications You must be signed in to change notification settings

sofiahernandes/notion-clone

Repository files navigation

🧠 Notion Clone

A full-featured clone of Notion built with modern web technologies.
Report Bug | Request Feature

notion-clone

🚀 Tech Stack

  • Blocknote/core - Notion-style rich text editor
  • Next.js – Full-stack React framework
  • Tailwind CSS – Utility-first styling
  • Edge Store – File uploads
  • NextAuth (Google) – Authentication
  • Prisma + SQLite – Document data store
  • Zustand – State management
  • Zod – Type-safe validation

✨ Features

📝 Notion-style block editor
🧾 Infinite nested documents
🗑️ Trash bin with soft delete & recovery
📁 Upload cover images to Edge Store
🖼️ Customizeble cover image per document
📎 Custom icons for documents, with real-time updates
📂 Expandable and collapsible sidebar navigation
📱 Fully responsive (mobile + desktop)
🔐 Google sign-in with user workspaces
📤 Publish pages with shareable links

🛠️ Getting Started

Prerequisites


  1. Clone the Repository
git clone https://github.com/sofiahernandes/notion-clone.git
cd notion-clone
  1. Install Dependencies
npm install
# or
yarn install
  1. Set Up Environment Variables (.env)
# Edge Store (file upload)
EDGE_STORE_ACCESS_KEY=""
EDGE_STORE_SECRET_KEY=""

# Auth
GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=""
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET=""

# Database
DATABASE_URL="file:./dev.db"
  1. Run database migrations
npx prisma migrate dev --name init
  1. Start the Development Server
npm run dev
# or
yarn dev

🤝 Contributing

Contributions are what make the open-source community amazing. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/my-feature)
  3. Commit your Changes (git commit -m 'Add some feature')
  4. Push to the Branch (git push origin feature/my-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License.
You are free to use, modify, and share this project — just give proper credit!



📩 Let's connect!

About

A full-featured Notion clone with real-time sync, rich text editing, infinite nesting, file uploads, custom covers/icons, auth via Clerk, and a responsive UI—built with Next, Convex, and Tailwind.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published