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