A modern web application that helps students access, analyze, and learn from previous year question papers with AI-powered insights and real-time feedback system.
- 📚 Upload PYQs: Easily upload previous year question papers with automatic categorization
- 🔍 Browse PYQs: Search and filter question papers by subject, semester, and year
- 🤖 AI Assistant: Get intelligent study suggestions based on question paper analysis
- 💬 Feedback System: Real-time feedback collection and display from Google Sheets
- Modern UI/UX: Beautiful, responsive design with Tailwind CSS
- Real-time Feedback: Google Sheets integration for feeOdback management
- PDF Processing: Advanced PDF extraction and analysis
- AI Integration: Intelligent study recommendations
- Database: Supabase integration for data management
- Frontend: React.js with Vite
- Styling: Tailwind CSS
- Database: Supabase
- AI Services: OpenAI API
- Feedback System: Google Apps Script + Google Sheets
- PDF Processing: PDF.js
- Icons: Lucide React
- Node.js (v16 or higher)
- npm or yarn
- Google account (for Google Sheets integration)
- Supabase account (for database)
-
Clone the repository
git clone https://github.com/yourusername/pyq-hub.git cd pyq-hub
-
Install dependencies
npm install
-
Set up environment variables Create a
.env
file in the root directory:VITE_SUPABASE_URL=your_supabase_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key VITE_OPENAI_API_KEY=your_openai_api_key
-
Set up Google Sheets integration
- Follow the instructions in
GOOGLE_SHEETS_SETUP.md
- Update the Google Apps Script URL in
src/services/feedbackService.js
- Follow the instructions in
-
Run the development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
The feedback system uses Google Sheets for data storage. Follow these steps:
- Create a Google Sheet for feedback data
- Set up Google Apps Script using the code in
google-apps-script.js
- Deploy as Web App and get the URL
- Update the URL in
src/services/feedbackService.js
Detailed instructions are available in GOOGLE_SHEETS_SETUP.md
.
- Create a Supabase project
- Set up your database tables
- Configure authentication (if needed)
- Update environment variables
PYQ/
├── public/ # Static assets
│ ├── logo.gif # Application logo
│ ├── bot.png # AI assistant icon
│ └── feedback.png # Feedback icon
├── src/
│ ├── components/ # React components
│ │ ├── FeedbackDisplay.jsx
│ │ ├── FeedbackModal.jsx
│ │ └── Navbar.jsx
│ ├── pages/ # Page components
│ │ ├── Home.jsx
│ │ ├── Upload.jsx
│ │ ├── Browse.jsx
│ │ └── AIAssistant.jsx
│ ├── services/ # API services
│ │ ├── feedbackService.js
│ │ ├── supabaseService.js
│ │ ├── aiService.js
│ │ └── pdfExtractionService.js
│ └── main.jsx # Application entry point
├── google-apps-script.js # Google Apps Script for feedback
└── README.md # This file
- Real-time collection: Users can submit feedback through a modal
- Google Sheets integration: All feedback is stored in Google Sheets
- Public display: Recent feedback is displayed on the home page
- Multiple types: Suggestions, comments, bug reports, and feature requests
- Intelligent analysis: Analyzes question papers for patterns
- Study recommendations: Provides personalized study suggestions
- Context-aware: Understands subject and difficulty levels
- Advanced extraction: Extracts text and structure from PDFs
- Automatic categorization: Categorizes questions by subject and type
- Search optimization: Makes content searchable and filterable
npm run build
-
Install Vercel CLI
npm i -g vercel
-
Deploy
vercel
-
Build the project
npm run build
-
Upload the
dist
folder to Netlify
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add some amazing feature'
- Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues:
- Check the troubleshooting guide in
TROUBLESHOOTING.md
- Review the Google Sheets setup in
GOOGLE_SHEETS_SETUP.md
- Open an issue on GitHub
- Vite for the fast build tool
- Tailwind CSS for the utility-first CSS framework
- React for the component library
- Supabase for the backend services
- Google Apps Script for the feedback system
Made with ❤️ by Anshika Rawat