AI-powered study tool that helps students learn faster by generating summaries, flashcards, and quizzes from their study materials.
- Frontend Repo: /frontend
- Mobile Repo: /mobile
- Backend Repo: /backend
Students often struggle to process large amounts of information and create effective study materials like summaries and flashcards.
This project automates these tasks using AI, allowing students to focus on learning rather than organization.
The application is designed for students and lifelong learners facing information overload and time-consuming manual study prep.
It provides immediate, high-quality study aids tailored to the user's specific content.
- AI Summarization: Automatically generate concise summaries from long study materials.
- Flashcard Generation: Create study decks instantly using AI.
- Interactive Quizzes: Test knowledge with AI-generated questions.
- Study Dashboard: Track progress and manage study resources.
- Multi-platform: Access via web or mobile (React Native).
- Secure Auth: JWT-based authentication for user accounts.
- React 19 (Web) & React Native / Expo (Mobile)
- TypeScript
- Tailwind CSS v4 & NativeWind v4
- Vite & Expo Router (file-based routing, very similar to Next.js)
- Lucide React (Icons)
- Context API — global state management (auth & user data)
- SecureStore (Expo) — secure encrypted storage for auth tokens (analog of localStorage)
- Native fetch + custom API wrapper — lightweight API calls (no external libraries like Axios)
- Node.js & Express.js
- TypeScript
- Google Generative AI (Gemini API)
- REST API
- MongoDB (Mongoose)
- Git & GitHub
- GitHub Actions (CI)
- dotenv (Environment variables)
- ESLint / Prettier
Here's a visual overview of the repository:
(Click to enlarge if needed)
- Node.js (v18+ recommended)
- npm (Package Manager)
- MongoDB (Local or Atlas)
- Gemini API Key (for AI features)
-
Navigate to the backend directory: cd backend text2. Install dependencies: npm install text3. Create a
.envfile based on existing config: PORT=5000 MONGO_URI=your_mongodb_connection_string GEMINI_API_KEY=your_gemini_api_key JWT_SECRET=your_secret_key NODE_ENV=development text4. Start the development server: npm run dev text### Frontend Setup -
Navigate to the frontend directory: cd frontend text2. Install dependencies: npm install text3. Start the development server: npm run dev textThe app usually runs on: http://localhost:5173
- Navigate to the mobile directory: cd mobile text2. Install dependencies: npm install text3. Start the Expo development server: npx expo start text- Press a → run on Android emulator/device
- Press i → run on iOS simulator (Mac only)
- Scan QR code with Expo Go app on real phone
Tunnel mode (for testing on physical device over internet): npx expo start --tunnel text## 🧪 Available Scripts
npm run dev— Starts the server with nodemon and tsc watchnpm run build— Compiles TypeScript to JavaScriptnpm start— Runs the compiled server from dist/
npm run dev— Starts Vite development servernpm run build— Builds the app for productionnpm run lint— Runs ESLint for code qualitynpm run preview— Previews the production build locally
npx expo start— Standard Expo startnpx expo start --tunnel— Expo start with tunnel (useful for testing on physical devices)npm run android— Run on Androidnpm run ios— Run on iOS
- Auth:
POST /api/auth/register,POST /api/auth/login - Resources:
GET /api/resources,POST /api/resources,POST /api/resources/:id/summary - Flashcards:
POST /api/flashcard-sets/generate,GET /api/flashcard-sets,GET /api/flashcard-sets/:setId - Quiz:
POST /api/quiz-sets/generate,GET /api/quiz-sets,POST /api/quiz-sets/:quizId/submit - AI Assistant:
POST /api/ai/chat
- Aida Burlutckaia — Full-Stack Developer
- Alena Danilchenko — Frontend Developer
- Anastasia Nikulkina — Mobile Developer
- Dmytro Azarenkov — Backend Developer
- Kseniia Zakharova — Backend Developer
- Natalia Sirtak — Full-Stack Developer
- No automated tests yet.
This project is for educational purposes only.
