┌───────────────────────────────────────────────────────────────┐
│ │
│ ███████╗███████╗███████╗████████╗██╗ ██╗██████╗ ██╗ ██╗ │
│ ██╔════╝╚══███╔╝██╔════╝╚══██╔══╝██║ ██║██╔══██╗╚██╗ ██╔╝ │
│ █████╗ ███╔╝ ███████╗ ██║ ██║ ██║██║ ██║ ╚████╔╝ │
│ ██╔══╝ ███╔╝ ╚════██║ ██║ ██║ ██║██║ ██║ ╚██╔╝ │
│ ███████╗███████╗███████║ ██║ ╚██████╔╝██████╔╝ ██║ │
│ ╚══════╝╚══════╝╚══════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ │
│ │
│ AI-Powered Study Assistant with Chat, Notes & Quiz │
│ │
└───────────────────────────────────────────────────────────────┘
EzStudy is an AI-powered learning platform (React + Vite) that provides an intelligent learning console with AI-driven insights, personalized study plans, and document analysis.
-- AI Learning Assistant: Interactive chatbot using Google Gemini as primary with Groq fallback
- Document Analysis: Upload and analyze PDF, DOC, PPT files with AI-powered summarization
-- Chat History Persistence: Save and restore conversations across sessions (localStorage)
-- User Authentication: Local auth modal (sample). Credentials are hashed client-side and only masked user info is stored in
localStorage. - Chat History Persistence: Save and restore conversations across sessions using MongoDB Atlas, with localStorage fallback
- User Authentication: Manual sign in/sign up and Google sign in/sign up backed by MongoDB Atlas
- Responsive Design: Modern, mobile-friendly interface built with Tailwind CSS with special optimizations for mobile
- Smooth Navigation: Elegant 1.5-second smooth scroll animation when clicking EzStudy logo
- Gradient UI Effects: Beautiful gradient color effects on EzStudy branding throughout the app
- Mobile-Optimized AI Console: Enhanced chat input with mobile-friendly options menu (Upload, Library Context, Compact Chat)
- Cambria Math Typography: Elegant serif fonts applied to key UI labels for premium feel
- Real-time Chat: Interactive learning conversations with markdown support
- File Upload & Library: Support for multiple document formats with local file management
- Frontend: React (Functional Components), Vite, Tailwind CSS, Lucide React icons
- Routing: React Router DOM for SPA navigation
- Backend Integration: Express.js API integration with Google Gemini (primary) and Groq fallback
- AI/ML: Groq API (Llama 3.3 70B model) for chat completions and document analysis
- Authentication: Custom auth backed by MongoDB Atlas and Google OAuth
- Markdown Rendering: React Markdown with GitHub Flavored Markdown support
- Animations: CSS animations (popOut, fadeIn, smooth scroll) and Tailwind transitions
- State Management: React Hooks (useState, useEffect, useRef, useContext)
- Node.js (v16 or higher)
- npm or yarn
- Git
- Install frontend dependencies and start Vite (default port 5178):
cd EzStudyFrontend
npm install
npm run dev- Backend (separate terminal):
cd ../EzStudyBackend
npm install --legacy-peer-deps
npm start # or `node server.js`- Environment variables (frontend): Create
EzStudyFrontend/.envwith:
VITE_BACKEND_URL=http://localhost:3001
VITE_GOOGLE_CLIENT_ID=your_google_oauth_client_id- Important backend env variables (see backend README):
GROQ_API_KEY(required),MONGODB_URI(required),MONGODB_DB_NAME=EzStudyDB(recommended),GOOGLE_CLIENT_ID(required for Google auth).
- Open the app and sign in using the authentication modal or Google button.
- Click "Go to AI Learning Console" to access the main interface.
- Upload documents for AI analysis or start chatting with the AI assistant.
- Create multiple chat sessions and switch between them.
- Chat history is persisted in MongoDB Atlas per user id; localStorage is only used as a fallback cache.
We welcome contributions! Here's how you can contribute:
- Fork the repository
- Create a new branch for your feature or bug fix
- Make your changes and commit them
- Push your changes to your fork
- Submit a pull request
Built with ❤️ for the EzStudy learning platform. Updated as of January 21, 2026.