A beautiful, modern MERN stack note-taking application with glassmorphism design, dark/light mode toggle, and advanced features for organizing your thoughts.
- Glassmorphism Design - Beautiful transparent cards with backdrop blur effects
- Dark/Light Mode Toggle - Smooth theme transitions with system preference detection
- Animated Components - Framer Motion animations throughout the app
- Responsive Design - Works perfectly on all screen sizes
- Interactive Elements - Hover effects, smooth transitions, and micro-interactions
- Create & Edit Notes - Rich text support with modern editor
- Pin Important Notes - Keep important notes at the top
- Search & Filter - Find notes quickly with advanced filtering
- Tags System - Organize notes with colorful tags
- Grid/List View - Toggle between different viewing modes
- Note Statistics - Dashboard with note counts and insights
- Secure JWT Authentication - Login/signup with encrypted passwords
- Session Persistence - Stay logged in across browser sessions
- Route Protection - Secure pages that require authentication
- Context Menus - Right-click actions for notes
- Copy to Clipboard - Quick content copying
- Like System - Mark favorite notes
- Empty States - Beautiful placeholders when no notes exist
- Toast Notifications - User-friendly feedback messages
- React 18 - Modern React with hooks
- Vite - Fast build tool and dev server
- Tailwind CSS - Utility-first CSS framework
- Framer Motion - Animation library
- Redux Toolkit - State management
- React Router - Client-side routing
- Lucide React - Beautiful icons
- React Toastify - Toast notifications
- Node.js - JavaScript runtime
- Express.js - Web framework
- MongoDB - NoSQL database
- Mongoose - MongoDB object modeling
- JWT - JSON Web Tokens for authentication
- bcryptjs - Password hashing
- CORS - Cross-origin resource sharing
- Node.js (v16 or higher)
- MongoDB Atlas account or local MongoDB
- Git
-
Clone the repository
git clone <your-repo-url> cd Note-App-Using-MERN-Stack--main
-
Install Backend Dependencies
cd backend npm install -
Install Frontend Dependencies
cd ../frontend npm install -
Environment Setup
Create a
.envfile in thebackenddirectory:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key PORT=3000
MongoDB Atlas Setup:
- Create a free account at MongoDB Atlas
- Create a new cluster
- Create a database user with read/write permissions
- Whitelist your IP address (or use 0.0.0.0/0 for development)
- Get your connection string and replace
<password>with your actual password - Important: URL-encode special characters in your password
-
Start the Application
Backend (Terminal 1):
cd backend npm run devFrontend (Terminal 2):
cd frontend npm run dev -
Access the App
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
Note-App-Using-MERN-Stack--main/
βββ backend/
β βββ controller/ # Route controllers
β βββ models/ # Database models
β βββ routes/ # API routes
β βββ utils/ # Utility functions
β βββ .env # Environment variables
β βββ index.js # Server entry point
βββ frontend/
β βββ src/
β β βββ components/ # Reusable components
β β βββ contexts/ # React contexts
β β βββ pages/ # Page components
β β βββ redux/ # Redux store and slices
β β βββ utils/ # Utility functions
β βββ public/ # Static assets
β βββ index.html # HTML template
βββ .gitignore # Git ignore rules
βββ README.md # Project documentation
POST /api/auth/signup- Create new user accountPOST /api/auth/signin- User loginGET /api/auth/signout- User logout
GET /api/note/all- Get all user notesPOST /api/note/add- Create new notePUT /api/note/edit/:id- Update existing noteDELETE /api/note/delete/:id- Delete notePUT /api/note/update-pinned/:id- Toggle note pin statusGET /api/note/search- Search notes
- Transparent backgrounds with backdrop blur
- Subtle borders and shadows
- Layered visual hierarchy
- Smooth page transitions
- Hover effects on interactive elements
- Loading states and micro-interactions
- Staggered animations for lists
- Automatic dark/light mode detection
- Manual theme toggle
- Persistent theme preferences
- Smooth color transitions
Backend:
npm start- Start production servernpm run dev- Start development server with nodemon
Frontend:
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production build
Backend (.env):
MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/notes-app
JWT_SECRET=your-super-secret-jwt-key
PORT=3000- Build the frontend:
npm run build - Deploy the
distfolder to your hosting service
- Set environment variables in your hosting service
- Deploy the backend folder
- Update frontend API URLs to point to your deployed backend
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Framer Motion for beautiful animations
- Tailwind CSS for rapid styling
- Lucide React for clean icons
- MongoDB Atlas for cloud database hosting
For questions or support, please open an issue in the GitHub repository.
Made with β€οΈ using the MERN Stack