Notely is an AI-powered EdTech SaaS platform designed to enhance the learning experience. It allows students and professionals to instantly generate high-yield exam notes, project documentation, revision points, and visual data representations (charts & diagrams) in seconds.
Featuring a modern, distraction-free interface, Notely keeps you focused on what matters most: your learning.
- π§ AI Note Generation: Generate structured, exam-oriented notes, revision points, and long/short questions instantly.
- π Visual Learning: Automatically generate data-driven charts (Pie, Bar, Line) using
Rechartsand flow diagrams usingMermaid.js. - π₯ Instant PDF Export: Download your generated notes as a clean, formatted PDF for offline studying and printing.
- π Seamless Authentication: Secure, one-click login powered by Firebase Google Auth.
- π History & Organization: Automatically save your past generated notes to a centralized dashboard for easy retrieval.
- π³ Credit System & Pricing: Built-in tiered pricing system (Starter, Popular, Pro) to manage AI generation credits.
- π¨ Premium UI/UX: A highly responsive, modern SaaS aesthetic built with Tailwind CSS v4, featuring fluid micro-animations, glassmorphism, and a custom brand palette.
Frontend:
- Framework: React.js (Vite)
- Styling: Tailwind CSS v4 (Custom Design Tokens)
- State Management: Redux Toolkit
- Routing: React Router DOM
- Authentication: Firebase (Google OAuth)
- Data Visualization: Recharts, Mermaid.js
- Animations: Framer Motion (Motion/React)
- Markdown Rendering: React-Markdown
Backend:
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB (Mongoose)
- PDF Generation: PDFKit
- Security: CORS, Cookie-Parser
This is a monorepo containing both the client and server.
Notely/
βββ client/ # React Frontend
β βββ src/
β β βββ assets/ # Images and static assets
β β βββ components/ # Reusable UI components (Sidebar, Navbar, etc.)
β β βββ pages/ # Route pages (Home, Auth, Notes, History, Pricing)
β β βββ redux/ # Redux slices and store
β β βββ services/ # API call functions (Axios)
β β βββ utils/ # Firebase config
β βββ index.html
β βββ package.json
β βββ vite.config.js
β
βββ server/ # Node.js Backend
β βββ controllers/ # Route logic (auth, generate, notes, pdf)
β βββ middleware/ # Custom middleware (isAuth)
β βββ models/ # Mongoose schemas (User, Notes)
β βββ routes/ # Express routes
β βββ services/ # Gemini AI integration services
β βββ utils/ # DB connection & Prompt building
β βββ index.js # Server entry point
β βββ package.json
Make sure you have Node.js and npm installed on your machine. You will also need a Firebase project and a MongoDB cluster.
git clone https://github.com/yourusername/notely.git
cd notely
cd server
npm installCreate a .env file in the server directory:
PORT=8000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_super_secret_jwt_key
GEMINI_API_KEY=your_gemini_api_key
CLIENT_URL=http://localhost:5173Start the backend server:
npm run devOpen a new terminal window/tab:
cd client
npm installCreate a .env file in the client directory:
VITE_FIREBASE_APIKEY=your_firebase_api_key
VITE_SERVER_URL=http://localhost:8000Start the frontend development server:
npm run devThe app will be running at http://localhost:5173.
This project is optimized for deployment on Render.
- Backend (Web Service): Deploy the
serverfolder. Add the environment variables above. LeaveCLIENT_URLblank temporarily. - Frontend (Static Site): Deploy the
clientfolder. Build command:npm install && npm run build. AddVITE_SERVER_URLpointing to your deployed backend. Add a rewrite rule for/*to/index.htmlto support React Router. - Connect them: Once the frontend is live, copy its URL and paste it into the backend's
CLIENT_URLenvironment variable.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
This project is MIT licensed.