A professional note-taking application built with Next.js, MongoDB, and Tailwind CSS. NoteMaster provides a clean, corporate interface for creating, editing, and managing your notes efficiently.
- Create Notes: Add new notes with title and content
- Edit Notes: Update existing notes with an inline editor
- Delete Notes: Remove notes you no longer need
- Real-time Updates: Automatically updates the UI after any changes
- Toast Notifications: Get instant feedback on your actions
- Timestamps: Track when notes were created and last updated
- Responsive Design: Professional corporate design that works on all devices
- MongoDB Integration: Persistent storage with automatic timestamps
- Frontend: Next.js 16, React 19
- Styling: Tailwind CSS 4
- Database: MongoDB with Mongoose ODM
- Notifications: React Hot Toast
- API: Next.js API Routes
- Node.js 18+ installed
- MongoDB Atlas account or local MongoDB installation
-
Clone the repository
git clone <your-repo-url> cd notes-taking-app
-
Install dependencies
npm install
-
Set up environment variables
Create a
.envfile in the root directory:MONGODB_URL=mongodb+srv://<username>:<password>@<cluster>.mongodb.net/notesdb?retryWrites=true&w=majority
-
Run the development server
npm run dev
-
Open your browser
Navigate to http://localhost:3000
notes-taking-app/
├── app/
│ ├── api/
│ │ └── notes/
│ │ ├── route.js # GET, POST endpoints
│ │ └── [id]/
│ │ └── route.js # PUT, DELETE endpoints
│ ├── globals.css # Global styles
│ ├── layout.js # Root layout
│ └── page.js # Home page
├── components/
│ └── NotesClient.jsx # Main notes component
├── lib/
│ └── db.js # MongoDB connection
├── models/
│ └── Note.js # Mongoose Note model
└── public/ # Static assets
GET /api/notes- Get all notesPOST /api/notes- Create a new notePUT /api/notes/[id]- Update a noteDELETE /api/notes/[id]- Delete a note
- Simple form with title and content fields
- Form validation to ensure both fields are filled
- Success notification on creation
- Click "Edit" button on any note
- Inline editing form appears
- Save or cancel changes
- Click "Delete" button to remove a note
- Instant UI update with confirmation toast
- Automatic creation and update timestamps
- Displayed in a readable format (e.g., "Dec 29, 2025")
npm run dev- Start development servernpm run build- Build for productionnpm start- Start production servernpm run lint- Run ESLint
| Variable | Description | Required |
|---|---|---|
| MONGODB_URL | MongoDB connection string | Yes |
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Built with ❤️ using Next.js and MongoDB