A modern full-stack Notes Application built with React, Node.js, Express, MongoDB, and TipTap Editor.
The application provides a clean writing experience with rich-text editing, real-time note switching, dark mode support, and an intuitive UI inspired by modern productivity tools.
Live Demo : click here
Built using TipTap editor with support for:
- Bold
- Italic
- Headings
- Bullet Lists
Smooth light/dark theme switching for better user experience and accessibility.
Instantly search and filter notes from the sidebar.
Seamlessly switch between notes without refreshing the page.
Delete notes instantly with responsive UI updates.
Clean and minimal UI designed for modern note-taking workflows.
- Interactive toolbar
- Hidden smooth scrollbars
- Hover effects
- Active note states
- Structured editor layout
- React
- Vite
- TipTap Editor
- React Icons
- CSS3
- Node.js
- Express.js
- MongoDB
- Mongoose
client/
│
├── public/
├── src/
│ ├── assets/
│ ├── components/
│ │ ├── Editor.jsx
│ │ ├── NoteCard.jsx
│ │ ├── NotesList.jsx
│ │ ├── RichEditor.jsx
│ │ └── Sidebar.jsx
│ │
│ ├── services/
│ │ └── notesApi.js
│ │
│ ├── styles/
│ │ └── App.css
│ │
│ ├── App.jsx
│ ├── main.jsx
│ └── index.css
│
├── package.json
└── vite.config.jsserver/
│
├── src/
│ ├── config/
│ │ └── db.js
│ │
│ ├── controllers/
│ │ └── notesController.js
│ │
│ ├── middleware/
│ │ └── errorHandler.js
│ │
│ ├── models/
│ │ └── Notes.js
│ │
│ ├── routes/
│ │ └── notesRoutes.js
│ │
│ └── app.js
│
├── .env
├── server.js
└── package.jsongit clone https://github.com/Anurag-3112/Note-Flow.gitcd client
npm install
npm run devFrontend runs on:
http://localhost:5173cd server
npm install
node server.jsBackend runs on:
http://localhost:5000Create a .env file inside the server folder.
PORT=5000
MONGO_URI=your_mongodb_connection_string OR mongodb://127.0.0.1:27017/notesDBGET /api/notes[
{
"_id": "665a1f3d2c91b0a123456789",
"title": "Meeting Notes",
"content": "<p>Project discussion</p>",
"createdAt": "2026-05-12T10:00:00.000Z",
"updatedAt": "2026-05-12T10:30:00.000Z"
}
]POST /api/notes{
"title": "My Note",
"content": "<p>Hello World</p>"
}PUT /api/notes/:id{
"_id": "665a1f3d2c91b0a123456789",
"title": "Updated Title",
"content": "<h1>Updated Content</h1>",
"updatedAt": "2026-05-12T11:00:00.000Z"
}DELETE /api/notes/:id{
"message": "Note deleted successfully"
}- Managing rich-text editor state using TipTap
- React state synchronization
- Full-stack CRUD operations
- MongoDB schema design
- REST API architecture
- Component-based UI design
- Dark mode implementation
- Authentication & Authorization
- Tags & Categories
- Markdown Export
- Drag & Drop Notes
- Pinned Notes
- Collaborative Editing
- GitHub: https://github.com/Anurag-3112/
- LinkedIn: https://linkedin.com/in/anurag-kumar-work/
If you like this project, consider giving it a ⭐ on GitHub!

