GreatNotes is a Study Notes Management System built using the MERN Stack. It helps students create, organize, and manage study notes in a simple and user-friendly way. Users can create notes and enrich them with different types of content such as text, images, voice recordings, YouTube videos, definitions, and AI-generated summaries.
- User Registration
- User Login
- JWT Authentication
- Protected Routes
- Create Notes
- View Notes
- Update Notes
- Delete Notes
- Search Notes
- Sort Notes
Each note acts as a study workspace and can contain multiple content blocks.
- Add text content
- Upload images
- View images inside notes
- Store images using Cloudinary
- Upload audio recordings
- Play audio recordings
- Store audio files using Cloudinary
- Add YouTube video links
- Display embedded YouTube players
- Store important terms and definitions
- Generate summaries from paragraphs
- Save summaries inside notes
- Create tasks
- Delete tasks
- Mark tasks as completed
- React.js
- React Router DOM
- Axios
- CSS
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT
- bcryptjs
- Cloudinary
- Gemini API (for summaries)
GreatNotes
│
├── client
│ └── src
│ ├── components
│ ├── pages
│ ├── services
│ └── context
│
│
├── server
│ ├── controllers
│ ├── middleware
│ ├── models
│ ├── routes
│ ├── config
│ └── services
│
└── README.md
git clone https://github.com/PiyushB752/GreatNotes.git
cd GreatNotes
cd server
npm install
Start backend server:
npm run dev
cd client
npm install
Start frontend:
npm run dev
- User registers or logs in.
- User creates a new note.
- Each note contains:
- Title
- Created Date
- Updated Date
- User opens a note.
- User can add:
- Text Blocks
- Image Blocks
- Voice Recording Blocks
- YouTube Video Blocks
- Definition Blocks
- Summary Blocks
- Uploaded images and audio files are stored in Cloudinary.
- Notes can be edited, searched, sorted, and deleted.
- Users can manage personal to-do tasks.
- Google OAuth Authentication
- Drag-and-Drop Block Reordering
- Rich Text Editor
- Note Categories
- Dark Mode
- Flashcard Generation
- Quiz Generation
- Collaborative Notes
- Note Sharing
The application is deployed using:
- Frontend: Vercel
- Backend: Render
- Database: MongoDB Atlas
- File Storage: Cloudinary