An AI-powered application that transforms lengthy notes into concise, actionable summaries using advanced natural language processing.
- 📝 Smart Summarization: AI-powered text summarization
- 🎤 Voice Input: Record notes using speech recognition
- 📁 File Upload: Support for text file uploads
- 📊 Word Count: Track original vs summary word counts
- 🌙 Dark Mode: Toggle between light and dark themes
- 📱 Responsive Design: Works on desktop and mobile
- 📚 Note History: Save and manage your summarized notes
- 🧭 Navigation: Multi-page app with Home, About, and Contact sections
- React 19 with TypeScript
- Vite for development
- TailwindCSS for styling
- React Router for navigation
- Web Speech API for voice input
- Lucide React for icons
- Node.js with Express
- TypeScript
- MongoDB for data storage
- Swagger for API documentation
- CORS for cross-origin requests
- Multer for file uploads
- Node.js (v18 or higher)
- MongoDB (local or cloud)
- npm or yarn
- Clone the repository:
git clone https://github.com/yourusername/NoteSummarizer.git
cd NoteSummarizer- Install backend dependencies:
cd backend
npm install- Install frontend dependencies:
cd ../frontend
npm install-
Set up environment variables:
- Create
.envfile in backend directory - Add your MongoDB connection string and other configs
- Create
-
Start the development servers:
Backend:
cd backend
npm run devFrontend:
cd frontend
npm run dev- Open your browser and go to
http://localhost:5173 - Type or paste your text in the input area
- Use voice input by clicking the microphone button
- Upload text files using the file upload feature
- Click "Summarize" to generate an AI summary
- View your note history in the sidebar
- Navigate between Home, About, and Contact pages using the navbar
NoteSummarizer/
├── backend/
│ ├── src/
│ │ ├── index.ts # Main server file
│ │ ├── config/
│ │ │ └── db.ts # Database configuration
│ │ └── routes/ # API routes
│ ├── package.json
│ └── tsconfig.json
├── frontend/
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── pages/ # Page components
│ │ ├── types/ # TypeScript types
│ │ ├── utils/ # Utility functions
│ │ ├── App.tsx # Main app component
│ │ └── main.tsx # Entry point
│ ├── package.json
│ └── vite.config.ts
└── README.md
POST /api/summarize- Summarize textPOST /api/upload- Upload and process filesGET /api/notes- Get note historyPOST /api/notes- Save a note
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature) - Make your changes
- Commit your changes (
git commit -m 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - Submit a pull request
Pankaj Singh
- 🌐 GitHub: @PankajSingh34
- 💼 LinkedIn: Pankaj Singh
- 📧 Email: singhps588@gmail.com
This project is licensed under the MIT License.
- User authentication and personal note storage
- Export summaries to various formats (PDF, Word)
- Integration with cloud storage services
- Mobile app version
- Advanced summarization options
- Collaboration features