Sign in
πŸͺ‘
πŸ› οΈ Developmentpublic

Hall Seat System Dev Prompt

Generates a full-stack development blueprint for a college exam hall seat arrangement system.

Lathika Skby Lathika Sk
0
Uses
0
Forks
Why You'll Love This
Streamline Exam Seat System Development.
  • Accelerate full-stack exam system development.
  • Instantly define backend, database, and project structure.
  • Ideal for college exam seat allocation projects.

Quickly generate a comprehensive full-stack development blueprint for a college exam hall seat arrangement system. Get your project structure, backend, and database setup defined in moments.

Prompt Template

# Hall Seat Arrangement System - Complete Development Prompts Based on your problem statement about creating a hall seat arrangement system for college exam seat allocation, here are the tailored prompts. Replace `[Project Name]` with `HallSeatArrangement` or similar. --- ## 1. Project Bootstrap & Structure Initialize a full-stack project for **Hall Seat Arrangement System**: **Backend:** - Node.js + TypeScript + Express - Folder structure: src/ (routes, controllers, services, models, utils, config, middleware) - Package.json with dependencies: express, typescript, cors, helmet, dotenv, mongoose - tsconfig.json optimized for Node.js - .env.example with key variables - README.md with setup instructions **Frontend:** - React + TypeScript + Vite - Folder structure: src/ (components, pages, hooks, services, utils, types, styles, contexts) - Tailwind CSS configured - Package.json with dependencies - .env.example **Include:** - .gitignore for both parts - ESLint + Prettier configs - Development scripts - Basic health check endpoint: GET /api/health - Role-based structure for Faculty (admin) and Student views --- ## 2. Environment Configuration Set up environment configuration for **Hall Seat Arrangement System**: **Backend .env:** - NODE_ENV (development/production) - PORT (default 5000) - DATABASE_URL (MongoDB Atlas connection string) - JWT_SECRET (secure random string) - JWT_REFRESH_SECRET - CORS_ORIGIN (frontend URL) - ADMIN_EMAIL (default admin email for initial setup) - ADMIN_PASSWORD (default admin password) **Frontend .env:** - VITE_API_URL (backend URL) - VITE_APP_NAME (Hall Seat Arrangement System) - VITE_ENVIRONMENT **Create:** - .env.example templates - Config loader utility - Environment validation on startup - Separate configs for dev/staging/prod --- ## 3. Database Connection & Setup Set up database connection for **Hall Seat Arrangement System**: **MongoDB:** - Connect to MongoDB Atlas using Mongoose - Create reusable database connection module - Connection error handling and retry logic - Mongoose global configuration - Database connection logs **Schemas to create:** - User (faculty/staff) - Student (from college data) - Hall (exam halls) - SeatArrangement - ExamSchedule **Include:** - Connection status endpoint - Graceful shutdown handling - Connection timeout configuration --- ## 4. Base API Architecture Implement RESTful API architecture for **Hall Seat Arrangement System**: **Structure:** - Express router with API versioning (/api/v1/) - Controller-Service-Model pattern - Business logic separated from routing - Request/Response standardization **Create sample endpoints:** - GET /api/v1/health (health check with DB status) **Standard response format:** ```json { "success": true, "data": {}, "message": "", "error": {} } ``` **Include:** - Route organization by feature (auth, students, halls, arrangements, exams) - Async error wrapper utility - HTTP status code constants --- ## 5. Student Schema Design Design Student schema for **Hall Seat Arrangement System** based on college data: **MongoDB (Mongoose):** - registerNumber (unique, required, indexed) - primary identifier - name (required) - department (required) - e.g., CSE, ECE, MECH, CIVIL - year (required) - 1st, 2nd, 3rd, 4th - section (optional) - A, B, C - semester (required) - 1-8 - email (optional, for notifications) - phone (optional) - batch (year of joining) - isActive (boolean, default: true) - createdAt, updatedAt **Indexes:** - registerNumber (unique) - department + year (compound index for filtering) - department + semester **Include:** - CSV import capability for bulk student data upload - Validation for register number format (as per college format) --- ## 6. Hall Schema Design Design Hall schema for exam venues: **MongoDB (Mongoose):** - name (required, unique) - e.g., "Main Hall", "Block A-101" - code (required, unique) - e.g., "H001", "A101" - capacity (required, number) - total seats available - building (optional) - floor (optional) - hasProjector (boolean, default: false) - hasAC (boolean, default: false) - isActive (boolean, default: true) - createdAt, updatedAt **Seat Layout:** - rows (number) - columns (number) - seatMap (array of seat objects with position and status) **Include:** - Seat capacity validation - Hall availability status for exam dates --- ## 7. Exam Schedule Schema Design ExamSchedule schema: **MongoDB (Mongoose):** - examName (required) - e.g., "End Semester Exams", "Mid Term Exams" - examDate (required, Date) - startTime (required) - endTime (required) - department (required) - which department's exam - year (required) - which year - semester (required) - which semester - subjectCode (optional) - subjectName (optional) - hallId (reference to Hall) - arrangementId (reference to SeatArrangement) - status (enum: pending, arranged, published, completed) - createdBy (reference to User/faculty) - createdAt, updatedAt **Include:** - Prevent overlapping exams in same hall - Faculty assignment tracking --- ## 8. Seat Arrangement Schema Design SeatArrangement schema: **MongoDB (Mongoose):** - examId (reference to ExamSchedule) - hallId (reference to Hall) - seats (array of seat assignments): - seatNumber (string) - rowNumber (number) - columnNumber (number) - studentId (reference to Student) - registerNumber (string, denormalized for quick lookup) - studentName (string, denormalized) - department (string, denormalized) - arrangedBy (reference to User/faculty) - arrangedAt (Date) - publishedAt (Date, optional) - version (number) - for tracking changes - status (enum: draft, published, modified) - createdAt, updatedAt **Include:** - Unique constraint: one student per exam - Historical tracking of arrangements - Export capability (PDF/Excel) --- ## 9. Authentication System - Backend Implement JWT authentication APIs for **Hall Seat Arrangement System**: **Endpoints:** - POST /api/v1/auth/signup (faculty registration - admin only or restricted) - POST /api/v1/auth/login (for faculty/admin) - POST /api/v1/auth/refresh - POST /api/v1/auth/logout - POST /api/v1/auth/change-password **User Roles:** - admin (full access - HOD/Exam Coordinator) - faculty (can arrange seats, view arrangements) - viewer (read-only access, optional) **Security:** - JWT access token: 8 hours expiry (full workday) - JWT refresh token: 7 days expiry - Store refresh tokens in database - Rate limiting on auth endpoints --- ## 10. User Schema & Faculty Management Design User schema for faculty: **MongoDB (Mongoose):** - email (unique, required) - password (hashed, required) - name (required) - facultyId (unique, required) - department (required) - role (enum: admin, faculty, viewer, default: faculty) - isActive (boolean, default: true) - lastLogin (Date) - createdAt, updatedAt **Admin Setup:** - Seed default admin on first run - Admin can create/manage faculty accounts - Department-based permissions --- ## 11. Student Data Import System Implement student data import for **Hall Seat Arrangement System**: **Backend:** - POST /api/v1/students/import/csv - Accept CSV file upload with columns: registerNumber, name, department, year, semester, section, email, phone - Validate data before import - Handle duplicates (update or skip) - Bulk insert with error reporting - Return import summary (success count, failed rows with reasons) **CSV Template:** ```csv registerNumber,name,department,year,semester,section,email,phone 2021001,John Doe,CSE,3rd,5,A,john@college.edu,9876543210 ``` **Frontend:** - CSV upload component with drag-and-drop - Download template button - Import progress indicator - Error report download - Preview before import **Include:** - Data validation rules - Register number format validation - Duplicate detection --- ## 12. Student Management CRUD Implement CRUD operations for Student management: **Backend:** - GET /api/v1/students (paginated list with filters) - GET /api/v1/students/:registerNumber (get by register number) - POST /api/v1/students (create single student) - PUT /api/v1/students/:registerNumber (update) - DELETE /api/v1/students/:registerNumber (soft delete) **Filters:** - department - year - semester - section - search by name or register number **Frontend:** - Students list with search and filters - Add/Edit student form - Delete with confirmation - Bulk delete option - Export filtered students to CSV --- ## 13. Hall Management CRUD Implement Hall management for exam venues: **Backend:** - GET /api/v1/halls (list halls) - GET /api/v1/halls/:id (get hall details) - POST /api/v1/halls (create hall) - PUT /api/v1/halls/:id (update) - DELETE /api/v1/halls/:id (delete if no arrangements exist) **Frontend:** - Hall list with capacity and status - Hall creation form (name, code, capacity, building, floor) - Visual seat layout editor (optional) - Hall capacity indicator **Include:** - Hall availability check for exam dates - Prevent deletion if hall has upcoming exams --- ## 14. Exam Schedule Management Implement Exam Schedule management: **Backend:** - GET /api/v1/exams (list with filters) - GET /api/v1/exams/:id (get details with arrangement) - POST /api/v1/exams (create exam schedule) - PUT /api/v1/exams/:id (update) - DELETE /api/v1/exams/:id (delete) - GET /api/v1/exams/upcoming (get upcoming exams) **Filters:** - examDate range - department - year - semester - status **Frontend:** - Exam schedule calendar view - Create exam form with date/time picker - Hall assignment selector - Conflict detection warning - Exam list with arrangement status --- ## 15. Automatic Seat Arrangement Algorithm Implement core seat arrangement algorithm: **Backend Service:** - POST /api/v1/arrangements/auto/:examId **Algorithm Logic:** 1. Get all students for the exam (by department, year, semester) 2. Get assigned hall with capacity 3. Validate capacity >= student count 4. Randomize student order (or sort by register number) 5. Assign seats sequentially: - Fill row by row (or column by column) - Ensure students from same section are spaced (optional) - Maintain 1-2 seat gap between students (anti-cheating) 6. Save arrangement to database **Rules:** - No same student assigned to overlapping exams - Same section students should not sit adjacent (optional config) - Special accommodations (front row for differently-abled) - Seat gap configuration (default: 1 empty seat between students) **Response:** - Success/failure with reason - Seat assignment preview --- ## 16. Manual Seat Arrangement Implement manual seat arrangement with drag-and-drop: **Backend:** - POST /api/v1/arrangements/manual/:examId - PUT /api/v1/arrangements/:arrangementId/seats (update specific seat) - PUT /api/v1/arrangements/:arrangementId/swap (swap two students) **Frontend:** - Visual hall seat map grid - Drag-and-drop students to seats - Color coding for departments/sections - Empty seats indicator - Reset option - Save arrangement **Grid Layout:** - Display hall layout with rows and columns - Highlight occupied vs empty seats - Student hover card with details - Quick search to place student --- ## 17. Seat Arrangement Preview & Publishing Implement arrangement viewing and publishing: **Backend:** - GET /api/v1/arrangements/exam/:examId (get arrangement) - PATCH /api/v1/arrangements/:id/publish (publish to students) - GET /api/v1/arrangements/export/:id (export PDF/Excel) **Frontend - Faculty View:** - Full seat map visualization - Student search by register number - Student count by department - Export buttons (PDF for printing, Excel for backup) - Publish button (makes visible to students) - Edit arrangement after publish (with version tracking) **Frontend - Student View (after publish):** - Search by register number to find seat - Display: Hall name, seat number, row/column - Exam details (date, time, subject) - Map of hall with seat highlighted --- ## 18. Student Search & Seat Finder Implement seat finder for students: **Backend:** - GET /api/v1/arrangements/find (public endpoint for students) - Query params: registerNumber, examId (optional) - Return: seat details if published - GET /api/v1/students/my-arrangements (authenticated student view) **Frontend - Public Page:** - Simple search by register number - Display: - Student name - Register number - Exam name - Date & time - Hall name & location - Seat number - Simple hall map highlighting seat **Frontend - Student Dashboard (if login):** - List of all upcoming exams with seat assignments - Download seat slip as PDF - Print option --- ## 19. PDF Export & Seat Slips Generate PDF seat slips: **Backend:** - GET /api/v1/arrangements/slip/:examId/:registerNumber - GET /api/v1/arrangements/bulk-slips/:examId (zip file) **PDF Content:** - College name and logo - Exam details (name, date, time, subject) - Student details (name, register number, department, year) - Hall details (name, location) - Seat number and row/column - QR code with seat info (optional) - Instructions for students **Frontend:** - "Download Seat Slip" button - Bulk download for all students in exam (faculty) - Print-friendly layout --- ## 20. Dashboard & Analytics Create dashboard for faculty/admin: **Backend:** - GET /api/v1/dashboard/stats - Total students - Total halls - Upcoming exams - Arranged exams count - Pending arrangements **Frontend - Faculty Dashboard:** - Stats cards - Upcoming exams list with arrangement status - Recent arrangements - Hall utilization chart - Quick action buttons: - "Start New Arrangement" - "Import Students" - "Create Hall" **Frontend - Admin Dashboard:** - All faculty stats - System usage metrics - Department-wise student distribution - Exam frequency charts --- ## 21. Conflict Detection System Implement conflict detection for exam arrangements: **Backend:** - Check student double-booking (same student in two exams at same time) - Check hall double-booking (same hall for two exams at same time) - Check faculty double-booking (if faculty assigned to multiple exams) **Endpoints:** - GET /api/v1/exams/check-conflicts (before creating/updating) - GET /api/v1/arrangements/:examId/validate **Frontend:** - Display warnings when creating exam - Red indicator for halls with conflicts - Conflict resolution suggestions --- ## 22. Exam Types & Templates Support different exam types: **Backend:** - POST /api/v1/exams/templates (save arrangement pattern) - GET /api/v1/exams/templates (list templates) **Exam Types:** - End Semester Exams (all students) - Mid Term Exams - Internal Assessments (section-wise) - Lab Exams (different capacity requirements) - Supplementary Exams **Templates:** - Save successful arrangements as templates - Quick apply for recurring exams --- ## 23. Notification System Implement notification system: **Backend:** - POST /api/v1/notifications/send (email/sms) - GET /api/v1/notifications (list notifications) **Notification Triggers:** - Seat arrangement published - Exam schedule updated - Hall change notification - Reminder before exam **Integration:** - Email (nodemailer/SendGrid) - SMS (Twilio - optional) - In-app notifications --- ## 24. Attendance Tracking Optional: Link attendance with seat arrangement: **Backend:** - POST /api/v1/attendance/:examId - Record attendance by seat number - Mark absent/present - Generate attendance report **Frontend:** - Faculty attendance marking interface - Grid view with seat map - Mark attendance by clicking seats - Export attendance report --- ## 25. Reporting & Analytics Reports Generate comprehensive reports: **Backend:** - GET /api/v1/reports/exam-summary/:examId - GET /api/v1/reports/department-wise (date range) - GET /api/v1/reports/hall-utilization (date range) **Report Types:** 1. Exam-wise Seat Allocation Report 2. Department-wise Student Distribution 3. Hall Utilization Report 4. Faculty Workload Report 5. Student Attendance Report **Export Formats:** - PDF - Excel/CSV - JSON for API integration --- ## 26. Bulk Operations Implement bulk operations for efficiency: **Backend:** - POST /api/v1/arrangements/bulk-create - POST /api/v1/exams/bulk-create (from CSV) **Bulk Features:** - Create multiple exams for a semester at once - Generate arrangements for all exams in batch - Bulk publish arrangements - Bulk download seat slips (zip) --- ## 27. Data Backup & Restore Implement backup and restore functionality: **Backend:** - POST /api/v1/admin/backup (create backup) - POST /api/v1/admin/restore (restore from backup) **Backup Content:** - Students data - Exam schedules - Seat arrangements - Hall configurations **Frontend:** - Backup management interface - Scheduled backup configuration - Restore with confirmation --- ## 28. Role-Based Access Control (RBAC) Implement detailed permissions: **Roles and Permissions:** - **Admin**: Full access, user management, system settings - **Exam Coordinator**: Create exams, manage arrangements, publish - **Department Faculty**: View only their department exams and students - **Viewer**: Read-only access to reports **Middleware:** - requireAuth - requireRole(['admin', 'exam_coordinator']) - requireDepartmentAccess (for faculty) --- ## 29. Audit Log Implement audit logging: **Backend:** - Log all important actions: - User login/logout - Student data changes - Arrangement modifications - Exam schedule changes - Publishing actions **Frontend:** - Admin view of audit logs - Filter by user, action, date range - Export logs --- ## 30. Student Login & Profile Optional student login: **Backend:** - POST /api/v1/students/login (using register number + DOB/password) - JWT for student access (limited permissions) **Frontend:** - Student login page - Profile dashboard showing: - Personal details - Upcoming exams with seats - Past exam history - Download seat slips --- ## 31. Hall Layout Visual Editor Create visual hall layout editor: **Backend:** - PUT /api/v1/halls/:id/layout (save seat map) **Frontend:** - Drag to create seats - Define rows and columns - Mark blocked/walkway seats - Save layout configuration - Preview mode --- ## 32. QR Code Integration Add QR code for seat verification: **Backend:** - GET /api/v1/arrangements/qr/:examId/:registerNumber - Generate QR code containing: - Student details - Hall name - Seat number - Exam details **Frontend:** - Display QR code on seat slip - Faculty app to scan QR for verification - Quick check-in system --- ## 33. Mobile Responsive Design Ensure mobile-friendly interface: **Responsive Features:** - Collapsible navigation for mobile - Touch-friendly buttons - Seat map view that scales on mobile - Simplified student search interface - Mobile-optimized seat slips --- ## 34. API Documentation Create comprehensive API documentation: **Using Swagger/OpenAPI:** - Document all endpoints - Request/response schemas - Authentication requirements - Error codes **Frontend:** - API playground for development - Interactive documentation --- ## 35. Deployment Configuration Set up deployment: **Backend Deployment:** - Railway/Render/AWS configuration - Environment variables setup - MongoDB Atlas connection **Frontend Deployment:** - Vercel/Netlify configuration - Environment variables - Build optimization **Database:** - MongoDB Atlas backup configuration - Index creation for performance --- ## 36. Testing Strategy Implement testing: **Backend:** - Unit tests for seat arrangement algorithm - API integration tests - CSV import validation tests **Frontend:** - Component tests for seat map - Search functionality tests - Form validation tests **E2E:** - Complete arrangement flow test - Student search test - Export functionality test --- ## 37. Performance Optimization Optimize for college-scale data: **Optimizations:** - Pagination for student lists (5000+ students) - Indexes on frequently queried fields - Caching for seat arrangement views - Lazy loading for seat maps - Debounced search inputs --- ## 38. Security Hardening Security measures: **Backend:** - Input validation for all endpoints - Rate limiting on search endpoints - XSS prevention - SQL injection prevention (using MongoDB properly) - Secure password hashing **Data Protection:** - Student PII protection - Role-based access to student data - Audit logging for data access --- ## 39. Multi-College Support Support multiple colleges (if needed): **Schema Extensions:** - Add collegeId to all models - Multi-tenant architecture - College-specific configurations **Frontend:** - College switcher for super admin - Isolated data per college --- ## 40. Final Documentation & Handover Complete documentation: **Documentation Includes:** - User manual for faculty - Student guide for finding seats - Administrator guide - Troubleshooting guide - Deployment instructions - Backup and recovery procedures **Training Materials:** - Video tutorials - Quick reference cards - FAQ document

Variables (1)

Hall seat arrangement{{project_name}}Required

Enter the app name, e.g. HallSeatArrangement

AI Configuration

Extended Thinking
Model
Custom Model

Reviews

Customer Reviews

No reviews yet

Be the first to share your experience!

Create Your Own AI Recipes

Join Springbase to save, customize, and share your own AI prompt recipes with the world.

TermsPrivacy