<<<<<<< HEAD
A modern, AI-enhanced examination management platform with intelligent PDF question extraction capabilities.
- Session Management: Create and manage examination sessions
- Class Organization: Organize classes within sessions
- Exam Creation: Build comprehensive examinations
- Question Bank: Manage questions with multiple formats
- Real-time Dashboard: Beautiful, interactive dashboard with statistics
- PDF Question Extraction: Upload PDF question papers and automatically extract questions
- Smart Text Analysis: AI-powered question and option detection
- Multiple Choice Recognition: Automatic identification of A, B, C, D options
- Fallback Processing: Regex-based extraction when AI is unavailable
- React 18 with TypeScript
- React Dropzone for file uploads
- Modern CSS with glassmorphism effects
- Interactive animations and pointer-responsive elements
- Node.js with Express
- TypeScript for type safety
- PDF-Parse for text extraction
- OpenAI GPT-3.5 for intelligent question extraction
- Multer for file upload handling
- Node.js (v16 or higher)
- npm or yarn
- OpenAI API key (for AI features)
-
Navigate to backend directory:
cd backend -
Install dependencies:
npm install
-
Create environment file:
# Create .env file with the following variables: PORT=5000 NODE_ENV=development OPENAI_API_KEY=your-openai-api-key-here MONGODB_URI=mongodb://localhost:27017/labyrinth JWT_SECRET=your-jwt-secret-here CLIENT_URL=http://localhost:3001 -
Start the backend server:
npm run dev
-
Navigate to frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm start
- Log in to the admin panel
- Navigate to Sessions β Classes β Exams β Questions
- Click the "π Upload PDF" button
- Drag and drop your PDF question paper or click to browse
- The system will automatically process the PDF
- AI will extract questions and options
- Review the extracted questions
- Edit question text, options, or correct answers if needed
- Set the correct answer for each question
- Click "Import Questions" to add them to your exam
- Questions will be automatically added to the question bank
- Get an API key from OpenAI
- Add it to your
.envfile asOPENAI_API_KEY - The system will use GPT-3.5-turbo for question extraction
- File Size Limit: 10MB maximum
- Supported Format: PDF only
- Text Extraction: Works with both typed and scanned PDFs
- Question Types: Multiple choice questions (A, B, C, D format)
- Pointer-responsive bubbles: Background elements follow your mouse
- Gravity effects: Cards and elements respond to pointer proximity
- Smooth animations: 60fps animations with requestAnimationFrame
- Glassmorphism design: Modern, translucent UI elements
- Mobile-friendly: Works on all screen sizes
- Touch support: Optimized for touch devices
- Dark/Light themes: Automatic theme switching
- Set production environment variables
- Build the TypeScript code:
npm run build - Start production server:
npm start
- Build the React app:
npm run build - Deploy the
buildfolder to your hosting service
- File validation: Only PDF files accepted
- Size limits: 10MB maximum file size
- Input sanitization: All user inputs are validated
- CORS protection: Configured for secure cross-origin requests
-
PDF not processing
- Ensure the PDF contains text (not just images)
- Check file size is under 10MB
- Verify OpenAI API key is valid
-
Questions not extracting properly
- Ensure questions follow standard format (1. Question text)
- Options should be labeled A, B, C, D
- Check PDF text quality
-
Backend connection issues
- Verify backend is running on port 5000
- Check CORS configuration
- Ensure all environment variables are set
POST /api/questions/upload-pdf- Upload and process PDF
GET /api/questions- Get all questionsPOST /api/questions- Create new questionPUT /api/questions/:id- Update questionDELETE /api/questions/:id- Delete question
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License.
For support and questions:
- Create an issue on GitHub
- Check the troubleshooting section
- Review the API documentation
The exam environment system for the admin Side.
a1c0d49d03f337d109a7170b8a8c332b29f4297e