A full-featured Notes Management Application built using modern web technologies. It allows users to securely create, manage, and organize notes with advanced features like search, tagging, edit history, and auto-save.
Frontend:
- React.js
- JavaScript (ES Modules)
- Tailwind CSS
Backend:
- Node.js
- Express.js
Database:
- MongoDB
Authentication:
- JWT (JSON Web Token)
- JWT Authentication (Login / Signup)
- CRUD Operations for Notes
- Search Notes (Title + Details + Tags)
- Dark / Light Mode
- Inline Editing
- Edit History with Delete Option
- Pin / Unpin Notes
- Auto-save (1.5s delay)
- Tags Support
- ES Modules used throughout the project
notes-app/
βββ client/ # React Frontend
βββ server/ # Node + Express Backend
βββ models/ # Mongoose Models
βββ routes/ # API Routes
βββ controllers/ # Business Logic
βββ middleware/ # Auth Middleware
βββ config/ # Database Config
- Clone the repository
git clone https://github.com/your-username/notes-app.git
cd notes-app
- Install dependencies
Frontend:
cd client
npm install
Backend:
cd server
npm install
- Create .env file in server folder
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
- Run the application
Backend:
npm run dev
Frontend:
npm start
Auth Routes:
- POST /api/auth/signup
- POST /api/auth/login
Notes Routes:
- GET /api/notes
- POST /api/notes
- PUT /api/notes/:id
- DELETE /api/notes/:id