DEV Community

Cover image for Introducing Zettel: A Markdown based note taking application for developers.
Shaan Alam
Shaan Alam

Posted on

Introducing Zettel: A Markdown based note taking application for developers.

Introducing Zettel

What is Zettel? ๐Ÿ˜

This is a good starting point to introduce Zettel. So, zettel is basically a german word for A brief note in english. It is a markdown based note-taking App which I created for myself where I could take notes easily and all the notes will be easily available to me. I hear you saying โ€œBut you could have used Notion or obsidian, Why reinvent the wheel?โ€ I understand your question and it is a valid one. But, I wanted to create something of my own which I can use daily, and in the process I can also learn and elevate my development skills.

Features โœจ

Zettel Image

  • Markdown Notes: Take notes easily using markdown format.
  • Markdown Preview: Easily preview your markdown in HTML.
  • Images: Supports image uploading.
  • Collections: Categorize your notes in separate collections
  • Collections Color Coding: Visualize your collections with a color code for each.
  • Beautiful UI: Work in aesthetically pleasing environment
  • Dark Mode: We've got Dark mode too! ๐ŸŒ™
  • Syntax Highlighting: Get beautiful syntax highlighting for your code blocks!
  • Open source: The code is publically available on GitHub

As of now, Zettel is only a MVP now, and I am planning on developing some more features which will make it even more awesome.

Future features ๐ŸŒŸ

  • Ability to share the notes link so that others can view it.
  • Ability to export the notes in .md format.
  • Ability to delete, rename collections.
  • Ability to move notes to the trash
  • Ability to star your favourite notes.
  • Ability to view all your notes at once.
  • Syntax Highlighting for mardown notes

Technologies Used ๐Ÿ‘ฉโ€๐Ÿ’ป๏ธ

  • Next 13 - Frontend
  • Node + Express - Backend
  • MongoDB - Database
  • TailwindCSS - CSS Library
  • shadcn/ui - Tailwind Components
  • React Query - Data Fetching Library
  • Formik - Form handling Library
  • Yup - For schema validation
  • TypeScript - For Type Safety
  • prismjs - Syntax Highlighting
  • Firebase - Authentication & Storage
  • Vercel - Frontend Deployment
  • Render - Backend Deployment

What I learned during the process?

Iโ€™ve learned a lot of things like how to develop a full-fledge application that can be used by others as well as myself. Iโ€™ve also learned how to

  • Deploy a Node+Express+TS backend on render.
  • Develop fully functional APIs
  • Use of MongoDB aggregations
  • Use React Query

Conclusion

I had a great time developing this application. This is my first time developing an App which can be used by others. I hope people in the development community use it and give me feedback so that I can improve this application even more.

App's Live Link - https://zettel-eight.vercel.app/

GitHub - https://github.com/shaan-alam/zettel

If you like the project, feel free to give it a โญ

My Socials

Twitter -ย https://twitter.com/shaancodes

Instagram -ย https://www.instagram.com/shaancodes/

GitHub -ย https://github.com/shaan-alam/

Top comments (0)