Crux is a full-stack web application developed using Shadcn UI, Next.js, Convex Database, Clerk Authentication, TypeScript, React, Edge Store for image upload, Zustand for state management, and the Blocknote text editor. This project offers a range of features for creating, organizing, and sharing notes and pages without referencing any specific application like Notion.
-
Rich Text Editing: Utilizes the Blocknote text editor to create and format text content with ease.
-
Image Upload: Allows users to add images to their notes and pages using Edge Store.
-
Authentication: Users can log in and access their notes securely using Clerk Authentication.
-
Data Storage: Persists data efficiently with Convex Database.
-
State Management: Utilizes Zustand for effective state management, ensuring a smooth user experience.
-
Note/Page Management: Users can create, edit, delete, and archive notes and pages.
-
Publishing: Notes and pages can be published publicly, with a unique link for easy sharing. Published content is view-only, ensuring that viewers cannot edit the content.
Before you begin, ensure you have met the following requirements:
- Node.js and pnpm installed on your local machine.
-
Clone the repository:
git clone https://github.com/koushikyemula/Crux
-
Change to the project's directory:
cd crux
-
Install the dependencies:
pnpm install
-
Configure your environment variables (e.g., Clerk API keys) as needed.
-
Start the development server:
pnpm dev
-
Open your web browser and navigate to
http:https://localhost:3000
to access the application.
- Shadcn UI
- Next.js
- Convex Database
- Clerk Authentication
- TypeScript
- React
- Edge Store
- Zustand
Contributions are welcome! Please feel free to open an issue or submit a pull request.
This project is licensed under the MIT License - see the LICENSE.md file for details.