A full-stack intelligent note management application built with the MERN stack, featuring AI-powered assistance, advanced tag management, dark mode, offline support, and modern glassmorphism UI.
iNotebook is a next-generation note management application that combines traditional note-taking with cutting-edge AI technology. Built with a completely decoupled architecture, it showcases modern web development practices while providing an intuitive, feature-rich experience for users to manage their digital notes efficiently.
inotebook.mp4
- Voice-to-Text Conversion - Convert spoken words directly into note content
- Real-time Speech Processing - Live transcription with instant feedback
- Multi-language Support - Support for multiple languages and accents
- Voice Commands - Control note operations using voice commands
- Hands-free Note Taking - Create and edit notes without typing
- Natural Language Processing - Interact with your notes using conversational AI
- Smart CRUD Operations - Create, read, update, and delete notes through AI chat
- Intelligent Search - AI-powered note discovery and content analysis
- Google Gemini Integration - Powered by Google's advanced AI technology
- Dynamic Tag Assignment - Organize notes with customizable tags (Work, Urgent, Personal, Important, Completed)
- Color-Coded Categories - Visual tag system with predefined gradient colors
- Smart Filtering - Filter notes by tags with advanced search capabilities
- Tag-Based Organization - Hierarchical note organization with visual indicators
- Theme Toggle - Seamless switching between light and dark modes
- System Preference Detection - Automatically adapts to OS theme settings
- Persistent Theme - Remembers user preference across sessions
- Modern UI Consistency - Cohesive design in both themes
- Offline Note Creation - Create and edit notes without internet connection
- Data Synchronization - Automatic sync when connection is restored
- Local Storage Management - Efficient offline data persistence
- Network Status Detection - Smart handling of connectivity changes
- Pending Actions Queue - Manages offline operations for later sync
- Loading Spinners - Beautiful loading indicators for login/signup processes
- Responsive Animations - Smooth transitions and micro-interactions
- Advanced Search & Filter - Powerful search functionality with real-time filtering
- π Secure Authentication - JWT-based user authentication with bcrypt password hashing
- π± Responsive Design - Mobile-first approach with Bootstrap integration
- π RESTful APIs - Well-structured API endpoints with proper error handling
- β‘ Real-time Updates - Dynamic note management with instant UI updates
- π‘οΈ Security First - Environment-based configuration and security best practices
- π Clean Architecture - Separation of concerns with DAO, Service, and Controller layers
- React.js - Modern UI library with hooks and context API
- Bootstrap - Responsive CSS framework
- React Router - Client-side routing
- Context API - State management
- FontAwesome - Icon library for modern UI
- Service Workers - For offline functionality
- Web Speech API - For speech recognition capabilities
- Node.js - JavaScript runtime environment
- Express.js - Web application framework
- MongoDB - NoSQL database with Mongoose ODM
- JWT - JSON Web Tokens for authentication
- bcrypt.js - Password hashing library
- Google Gemini AI - AI-powered note assistance
- Vercel - Frontend and backend deployment
- Environment Variables - Secure configuration management
- Git - Version control with proper .gitignore setup
- Node.js (v14 or higher)
- MongoDB (local installation or MongoDB Atlas)
- Google AI API Key (for AI features)
- Git for version control
-
Clone the repository
git clone https://github.com/skp3214/inotebook.git cd inotebook/backend -
Install dependencies
npm install
-
Configure environment variables
# Create .env file with the following configuration MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_super_secret_jwt_key GOOGLE_AI_API_KEY=your_google_ai_api_key PORT=5000 NODE_ENV=development ALLOWED_ORIGINS=http://localhost:3000 -
Start the development server
npm start
π Backend server running on
http://localhost:5000
-
Navigate to frontend directory
cd ../frontend -
Install dependencies
npm install
-
Configure environment variables
# Create .env file REACT_APP_API_BASE_URL=http://localhost:5000 NODE_ENV=development -
Start the development server
npm start
π Frontend application running on
http://localhost:3000
POST /api/auth/createuser- User registration with spinner loadingPOST /api/auth/login- User login with spinner loadingPOST /api/auth/getuser- Get user profile (Protected)
GET /api/notes/fetchallnotes- Get all user notes with tags (Protected)POST /api/notes/addnotes- Create new note with tag assignment (Protected)PUT /api/notes/updatenotes/:id- Update existing note and tags (Protected)DELETE /api/notes/deletenotes/:id- Delete note (Protected)
POST /api/ai-agent/chat- Chat with AI for note operations (Protected)
We welcome contributions! Please follow these steps:
- 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
Made with β€οΈ by skp3214
Β© 2025 iNotebook. All rights reserved.

