AI-powered study companion transforming passive note-taking into active learning.
StudySync is an innovative educational platform that helps students transform their lecture notes, PDFs, and study materials into interactive learning experiences. Using advanced AI, it generates flashcards, quizzes, and comprehensive study guides tailored to each student's learning style.
- AI-Powered Content Processing: Upload PDFs, images, videos, or audio recordings
- Smart Flashcard Generation: Automatically create flashcards from your study materials
- Interactive Quiz System: Adaptive quizzes with multiple question types
- Knowledge Graph: Visual connections between concepts across lectures
- Exam Content Prediction: AI predicts likely exam topics based on lecture patterns
- Progress Tracking: Comprehensive analytics dashboard
- Collaborative Learning: Share study materials with classmates
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- Shadcn/ui - Component library
- Node.js/Express - API server
- PostgreSQL - Primary database
- Prisma ORM - Database toolkit
- Redis - Caching and queues
- OpenAI GPT-4 - Content generation
- LangChain - AI orchestration
- Vector Database - Semantic search
- Turborepo - Monorepo management
- Docker - Containerization
- GitHub Actions - CI/CD
- AWS/Vercel - Cloud deployment
- Stripe - Payment processing and subscriptions
studysync/
├── apps/
│ ├── web/ # Next.js frontend application
│ └── api/ # Express backend API
├── packages/
│ ├── database/ # Prisma schema and client
│ ├── auth/ # Authentication logic
│ ├── ui/ # Shared UI components
│ └── shared/ # Shared utilities
├── docker-compose.yml
├── turbo.json
└── package.json
- Node.js 18+ and npm 9+
- Docker and Docker Compose
- PostgreSQL (or use Docker)
- Redis (or use Docker)
- Clone the repository:
git clone https://github.com/Sakeeb91/studysync.git
cd studysync- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env
# Edit .env with your configuration- Start Docker services:
docker-compose up -d- Set up the database:
npm run db:push
npm run db:generate- Start development servers:
npm run devThe application will be available at:
- Frontend: http://localhost:3000
- API: http://localhost:3001
StudySync includes a complete payment processing and subscription management system powered by Stripe. To configure payments:
- See PAYMENT_SETUP.md for detailed setup instructions
- Create a Stripe account and get your API keys
- Configure subscription plans in Stripe Dashboard
- Set up webhooks for automatic subscription updates
- Add Stripe credentials to your
.envfile
The payment system supports:
- Multiple subscription tiers (FREE, PREMIUM, STUDENT_PLUS)
- Monthly and yearly billing
- Free trials and student discounts
- Stripe Checkout and Customer Portal
- Webhook-based subscription updates
- Feature gating and usage limits
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run E2E tests
npm run test:e2e# Build all packages
npm run build
# Start production servers
npm startThe project includes GitHub Actions workflows for automatic deployment:
- Pull Requests: Deploy preview to Vercel
- Main branch: Deploy to production
- Project setup and architecture
- User authentication
- Content upload system
- AI flashcard generation
- Basic quiz system
- Beta testing program
- Payment processing
- Exam prediction engine
- Analytics dashboard
- Marketing campaigns
- University partnerships
- Mobile apps (iOS/Android)
- Advanced AI features
- International expansion
We welcome contributions! Please see our Contributing Guide for details.
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email [email protected] or join our Discord server.
- Sakeeb Rahman - Founder & Lead Developer
Built for students everywhere