Dendron is a note taking web application built with Next.js 13. It allows users to create, edit, organize and search notes.
This project is actively under development. If you come across any unclear aspects or have suggestions, please don't hesitate to contact me or create a GitHub issue. We welcome your feedback as we make daily updates to the project.
- 📝 rich text editor
- 🗂️ Notebooks for grouping notes
- 🔍 Fast full-text search
- 📷 File uploading
- 🏷️ Tags for quick filtering
↔️ Sync and access notes on all devices- 🗑️ Soft delete and restore deleted notes
- 🌐 Publish notes as public pages
- 🌓 Light and dark mode
-
Next.js: A React framework for building web apps and sites using server-side rendering and static site generation. Provides performance, SEO benefits, and developer experience.
-
React: A JavaScript library for building user interfaces. Used as the front-end framework.
-
Tailwind CSS: A utility-first CSS framework for rapidly building custom user interfaces.
-
Shadcn UI: A UI library built using Tailwind CSS and Radix UI that provides a collection of copy-paste components for creating a consistent and stylish user interface.
-
Clerk: User management and authentication for web applications. Handles user profiles, sign in, access control, and more.
-
Convex: Backend framework for building scalable web apps with React. Provides realtime APIs, database, and business logic.
-
Zod: A TypeScript-first schema validation and object serialization library.
-
Vercel: Deployment and hosting platform for static and serverless sites. Provides optimised performance and developer workflow.
- Node.js and npm
- Clone the repo
git clone https://github.com/mohamed-lifa7/dendron.git
- Install dependencies
npm install
-
Create a
.env
file with your credentials -
Run the dev server
npm run dev
- Open http://localhost:3000 to view the app
Before you begin, make sure you have the Node.js version 18.x.x installed on your machine.
Pull requests are welcome! Feel free to open an issue or submit a PR for any bugs or improvements.
If you encounter a bug, have a feature request, or want to suggest improvements, please open an issue on our GitHub issue tracker. When submitting an issue, please provide as much detail as possible, including steps to reproduce the problem if applicable.
If you'd like to contribute code to our project, please follow these steps:
- Fork the repository to your own GitHub account.
- Clone your forked repository to your local machine.
git clone https://github.com/mohamed-lifa7/dendron.git
- Create a new branch for your feature or bug fix.
git checkout -b feature-name
- Make your changes and commit them with descriptive commit messages.
- Push your changes to your GitHub repository.
git push origin feature-name
- Open a pull request (PR) to the main repository's main branch. Provide a clear title and description for your PR.
- Your PR will be reviewed, and any necessary feedback or changes will be discussed. Once your PR is approved, it will be merged into the main project.
To maintain code consistency, we use ESLint for JavaScript/TypeScript linting. Please make sure your code adheres to our coding standards. You can run ESLint using the following command:
npm run lint
If you have any questions or need further assistance, you can reach out to us through the contact section within the app or by creating an issue on GitHub.
This project is licensed under MIT. See LICENSE for more details.