Admin Guide
This comprehensive guide covers all administrative functions available on the R's PlacePrep platform.
Admin Access
Prerequisites
- Admin role assigned in the database
- Valid admin credentials
- Access to the admin panel URL (
/admin)
Admin Dashboard
The admin dashboard provides centralized access to:
- Exam Management: Create, edit, and delete exams
- User Management: View and manage student accounts
- Evaluation Tools: Review and grade student submissions
- Analytics: Access platform-wide statistics
- Content Management: Organize questions and materials
- Placements: Create and manage placement posts for your college
Admin Registration Number: DDMMYY + CollegeCode + First3LettersOfName (e.g., 010903109ROH)
Admin vs Super Admin — Permissions at a Glance
| Feature | Admin | Super Admin |
|---|---|---|
| Create exams | ✅ | ✅ |
| Evaluate student submissions | ✅ | ✅ |
| Use AI-assisted evaluation | ✅ | ✅ |
| View exam analytics | ✅ (own exams) | ✅ (all exams) |
| View college members | ✅ (own college) | ✅ (all colleges) |
| Export members as CSV | ✅ (own college) | ✅ (all colleges, with email) |
| Assign / revoke admin roles | ❌ | ✅ |
| View all users (cross-college) | ❌ | ✅ |
| Filter users by college | ❌ | ✅ |
| Create TNP placement posts | ✅ (own college only) | ✅ (any college or all) |
| View TNP posts | ✅ (own college) | ✅ (all colleges) |
| Target placement to all colleges | ❌ | ✅ |
| Manage Student TNP Profiles | ✅ (own college) | ✅ (all colleges) |
| Lock / Unlock TNP Profiles | ✅ (own college) | ✅ (all colleges) |
| Export TNP Profiles as CSV | ✅ (own college) | ✅ (all colleges) |
| Export Applicants as CSV | ✅ (own college) | ✅ (all colleges) |
| Configure AI settings | ✅ | ✅ |
| Access system configuration | ❌ | ✅ |
User Management
Viewing Users
- Navigate to the "Users" section from the admin sidebar
- View the complete list of registered students
- Filter and search users by:
- Name
- Registration date
- Activity status
User Information
For each user, you can view:
- Full name and email address
- Registration date
- Total exams attempted
- Average performance
- Last activity timestamp
- Account status
User Actions
- View Details: Access detailed user profile
- View Attempts: See all exam attempts by the user
- Performance Reports: Generate user-specific analytics
- Account Status: Monitor active/inactive accounts
Content Management
Question Organization
Questions are stored in markdown files organized by:
content/ ├── companies/ │ ├── tcs/ │ │ ├── aptitude/ │ │ ├── coding/ │ │ └── 2025-nqt/ │ ├── infosys/ │ │ ├── 2025-irt/ │ │ └── coding/ │ └── accenture/ │ └── 2025-nlt/
Adding Questions
- Navigate to the appropriate company folder
- Create or edit markdown files
- Follow the question format:
markdown## Question Title Question text goes here... **Options:** 1. Option A 2. Option B 3. Option C 4. Option D **Answer:** 1 **Explanation:** Optional explanation text...
Question Format Guidelines
- Headings: Use
##for question titles - Options: List using numbered format
- Answer: Specify the correct option number
- Explanations: Provide detailed reasoning when possible
- Code Blocks: Use triple backticks for code snippets
- Math: Use LaTeX notation for mathematical expressions
Creating Exams
Detailed exam creation is covered in the Exam Management guide. Here's an overview:
Quick Start
- Navigate to "Exams" in the admin panel
- Click "Create New Exam"
- Fill in basic details
- Select questions from the pool
- Configure settings
- Publish the exam
Exam Types
- Mock Tests: Full-length practice exams
- Topic Tests: Focused assessments on specific subjects
- Speed Tests: Time-constrained quick assessments
- Custom Tests: Flexible question selection
Evaluation and Grading
Auto-Graded Questions
Multiple-choice questions are automatically evaluated:
- Correct answers award full points
- Wrong answers may deduct points (if negative marking enabled)
- Unanswered questions receive zero points
Manual Evaluation
For subjective questions or coding problems:
- Navigate to "Evaluate" section
- Select the exam attempt to review
- Review student responses
- Assign points based on rubric
- Add feedback comments
- Submit evaluation
Coding Question Evaluation
Coding questions can be evaluated manually or with AI assistance:
- Automatic Handling: Questions that are not attempted (empty or only template code) are automatically marked as incorrect with 0 points
- Manual Queue: Only actually attempted coding questions are added to the evaluation queue
- Evaluation Interface: View student code side-by-side with the expected solution
AI-Assisted Evaluation
The platform supports AI-powered code evaluation using Groq (Llama) or Gemini:
- Individual Evaluation: Click the "AI Evaluate" button on any pending coding question
- Bulk Evaluation: Use "AI Evaluate All" on the main evaluation page to process all pending questions
- Rate Limiting: Built-in delays (5-10 seconds) prevent API rate limits; automatic 1-minute pause if rate limited
- Auto-Fallback: If one AI provider fails, the system automatically switches to the backup provider
- Partial Marks: AI can award partial marks (0.25, 0.5, or 1.0 increments) based on code quality
AI Settings Configuration
Access AI settings from the admin sidebar to configure:
- Default Provider: Choose between Groq or Gemini
- Custom API Keys: Optionally use your own API keys instead of platform defaults
- Auto-Fallback: Enable/disable automatic provider switching
- Partial Mark Increment: Configure partial marking precision
AI Evaluation Indicators
Questions evaluated by AI display a bot icon next to the question marks indicator, helping administrators identify which evaluations were AI-assisted vs manual.
Review Requests
Students can request a review of their evaluation (up to 2 times per attempt):
- Viewing Requests: Navigate to "Evaluate" > "Review Requests" tab
- Review Details: See the student's message explaining their concern
- Actions Available:
- Evaluate: Open the submission for re-evaluation
- Discard: Reject the review request if it's invalid
Discarding Review Requests
When a review request is not valid:
- Click "Discard" on the review request
- The request is removed from your queue
- The student's status changes to "Request Discarded"
- The student can still request another review if they have remaining requests (max 2)
- The review count is preserved (not reset)
Note: Discarding a request should only be done when the student's concern is clearly invalid. If there's any doubt, prefer to re-evaluate.
Evaluation Dashboard
- Pending Evaluations: Submissions awaiting review
- Completed Evaluations: Already graded submissions
- Bulk Actions: Evaluate multiple submissions
- Export Results: Download evaluation data
Analytics and Reporting
Platform Statistics
Access comprehensive analytics:
- Total Users: Number of registered students
- Active Exams: Currently available assessments
- Total Attempts: Cumulative exam submissions
- Average Scores: Platform-wide performance metrics
Exam-Specific Analytics
For each exam, view:
- Participation Rate: Percentage of eligible students who attempted
- Average Score: Mean performance across all attempts
- Score Distribution: Histogram of score ranges
- Time Analysis: Average time taken
- Question Analysis: Performance per question
- Difficulty Metrics: Which questions were hardest/easiest
Student Performance Reports
Generate detailed reports showing:
- Individual student progress
- Topic-wise performance
- Improvement trends
- Comparison with cohort averages
- Strengths and weaknesses
Exporting Data
Export analytics in multiple formats:
- CSV: For spreadsheet analysis
- PDF: For formal reports
- JSON: For programmatic processing
Exam Settings
Configuration Options
When creating or editing exams, configure:
Basic Settings
- Name: Descriptive exam title
- Description: Optional details about the exam
- Duration: Time limit in minutes
- Start Time: When the exam becomes available
- End Time: When the exam closes
Advanced Settings
- Negative Marking: Percentage of points deducted for wrong answers
- Allow Early Submission: Let students submit before time expires
- Enforce Fullscreen: Require fullscreen mode during the exam
- Show Ranking: Display student ranks after submission
- Randomize Questions: Show questions in random order
- Randomize Options: Shuffle answer choices
Access Control
- Eligible Users: Who can attempt the exam
- Attempt Limits: Maximum number of attempts per user
- Prerequisites: Required exams before attempting
TNP / Placement Management
The TNP (Training and Placement) module lets admins create and manage placement posts for students in their college.
Who Can Use This
- Admins: Can create placement posts targeted to their own college
- Super Admins: Can create placement posts targeted to any college or to all colleges at once
Creating a Placement Post
- Go to the Admin Panel → Placements section from the sidebar
- Click "Create New Post" — the form opens in a side panel
- Fill in the required details:
- Title — a short name for the placement (e.g., "TCS NQT 2025")
- Company Name — the recruiting company
- Deadline — the last date for students to apply
- Target Colleges — which colleges can see this post (admins: auto-set to their own college; super admins: can select specific colleges or "All")
- Eligible Branches — which branches are allowed to apply (e.g., CSE, ECE, ME, or "All Branches")
- Eligible Years — which years can apply (e.g., 4th Year, 3rd Year)
- Application Method — choose one of the following:
- Use Student TNP Profile for Applications (toggle checkbox):
- When enabled: Students apply directly using their TNP Profile data — no external form needed. The apply link fields are hidden. Students must have a locked TNP Profile to apply.
- When disabled: Provide an apply link (Google Form, external website, etc.)
- Apply Link — the URL where students will apply (only when TNP Profile is not used)
- Apply Link Type — choose between "Google Form" (embedded) or "External Link"
- Use Student TNP Profile for Applications (toggle checkbox):
- Optional fields:
- Role Offered — the job role or position
- Package (LPA) — the salary in Lakhs Per Annum
- Description — any extra details about the placement
- Attachments — upload PDF, images, or documents (max 10 MB each)
- Click "Create Post"
- After creating, you can click "Create More" to add another post immediately
Managing Posts
- Edit: Click the edit icon on any post to update its details
- Delete: Click the delete icon to permanently remove a post (all attached files and student applications are also deleted)
- Change Status: Update the post status to "active", "closed", or "draft"
- Mark Complete: Mark a post as completed when the placement drive is over
- View Applications: Click on a post to see which students have applied
Viewing Applicants
- Click on any post to open its detail page
- The Applicants section shows all students who applied, with:
- Student name and email
- Registration number
- College and branch
- Applied date
- Application status
- When the post uses TNP Profile for applications, full profile data is fetched from the server and included in exports
Exporting Applicants as CSV
- On the post detail page, click "Export CSV"
- The CSV includes:
- Student Name, Registration Number, College, Branch, Applied Date, Status, Email
- When TNP Profile is enabled, the export also includes all TNP Profile fields:
- Gender, Religion, Date of Birth, Contact Numbers, Aadhaar, Relocation Preference
- Admission Type, Session, Current Year, Current Semester
- Current CGPA, CGPA Calculated Till Sem
- 10th, 12th, and Diploma academic details
- Semester-wise GPA (formatted as "Sem 1: 8.5; Sem 2: 7.9; ...")
- Photo Link — a clickable URL to view the student's photo
- Resume Link — a clickable URL to download the student's resume
Filters and Search
- Search: Filter posts by title or company name
- Status Filter: Show only active, closed, or draft posts
- College Filter (super admin only): Filter posts by target college
Attachments
- You can upload supporting documents (job descriptions, eligibility criteria, etc.)
- Allowed file types: PDF, PNG, JPG, WEBP, DOC, DOCX, XLS, XLSX
- Maximum file size: 10 MB per file
- Files are stored securely and students can download them from the post detail page
Student TNP Profile Management
Admins can view, manage, and export student TNP profiles from their college.
Accessing TNP Profiles
- Go to Admin Panel → Student Profiles from the sidebar
- You'll see a list of all student profiles submitted by students in your college
- Super admins can see profiles across all colleges and filter by college
Profile Overview
Each student profile card shows:
- Photo — the student's passport photo
- Name, Email, Registration Number
- Branch, Current Year, Current Semester
- Session — academic session
- CGPA — current cumulative GPA
- Lock Status — whether the profile is locked (submitted) or unlocked
Filtering and Search
- Search by student name or registration number
- Filter by Session — show profiles from a specific academic session
- Filter by Branch — show profiles from a specific branch
- Filter by Minimum CGPA — show only students with CGPA above a threshold
- College Filter (super admin only) — filter by college
Lock / Unlock
- When a student submits their profile, it is automatically locked
- A locked profile cannot be edited by the student
- As an admin, you can:
- Unlock a profile to allow the student to make changes
- Lock a profile to prevent further edits
- Bulk Lock/Unlock: Select a session and lock or unlock all profiles in that session at once
Profile Detail Modal
- Click on any profile card to open the full detail view
- View all information the student has provided:
- Personal details (gender, religion, DOB, contact numbers, Aadhaar)
- Academic details (10th, 12th, diploma, B.Tech)
- Semester-wise GPA
- Photo and resume (with download links)
- From the modal, you can also lock/unlock the profile
Exporting TNP Profiles as CSV
- Click the "Export CSV" button (or the filter/export icon)
- The export respects all currently applied filters
- All profiles matching your filters are fetched (up to 5000)
- The CSV includes every field from the TNP Profile form:
| Column | Description |
|---|---|
| Name | Student's full name |
| Student's email address | |
| Reg No | University registration number |
| Branch | Department (e.g., CSE) |
| Branch Code | Short branch code |
| Current Year | Year of study (1–4) |
| Current Sem | Current semester (1–8) |
| Session | Academic session |
| College Name | Name of the college |
| College Code | College code |
| Gender | Male / Female / Other |
| Religion | Student's religion |
| Date of Birth | Formatted date |
| Contact Number | Primary phone |
| WhatsApp Number | WhatsApp phone |
| Alternate Contact | Alternative phone |
| Aadhaar Number | 12-digit Aadhaar |
| Relocation Preference | Yes / No / Maybe |
| Admission Type | Regular / Management / Lateral Entry |
| 10th Percentage | 10th class percentage |
| 10th School | School name |
| 10th Board | Board name |
| 10th Passing Year | Year of passing |
| Has 12th | Yes / No |
| 12th Percentage | 12th percentage (if applicable) |
| 12th School | School name (if applicable) |
| 12th Board | Board name (if applicable) |
| 12th Passing Year | Year of passing (if applicable) |
| Has Diploma | Yes / No |
| Diploma College | Diploma college name (if applicable) |
| Diploma Percentage/CGPA | Diploma score (if applicable) |
| Diploma Passing Year | Year of passing (if applicable) |
| Current CGPA | Current cumulative GPA |
| CGPA Calculated Till Sem | Semester up to which CGPA is calculated |
| Semester-wise GPA | Individual semester GPA (e.g., "Sem 1: 8.5; Sem 2: 7.9") |
| Locked | Whether the profile is locked (Yes / No) |
| Photo Link | Clickable URL to view the student's photo |
| Resume Link | Clickable URL to download the student's resume |
File Cleanup
- When a student profile is deleted, the associated photo and resume files are automatically deleted from storage
- When a student re-uploads a photo or resume, the previous file is automatically deleted from storage
- This ensures no orphaned files remain in the storage bucket
Appwrite Collection Setup
To use TNP Profiles, create atnp_profiles collection in Appwrite with the following attributes. To use the Direct Apply feature in placements, also add the use_tnp_profile boolean attribute to the tnp_posts collection.
| Attribute | Type | Default | Required |
|---|---|---|---|
use_tnp_profile (on tnp_posts) | Boolean | false | No |
College-wise Feedback Collection
When students submit exam feedback, it is automatically organized by college in your Google Spreadsheet:
- Each college gets its own sheet (tab) within the spreadsheet
- An "All Responses" sheet contains all feedback in one place
- College name and code are included in each feedback row
- This makes it easy to analyze feedback per college
Note: To use the updated feedback format, you must update the Google Apps Script code in your spreadsheet. The updated code is in src/lib/feedback/sheets.ts.
Best Practices
Exam Creation
- Plan Ahead: Define objectives before creating exams
- Balanced Difficulty: Mix easy, medium, and hard questions
- Clear Instructions: Provide comprehensive exam guidelines
- Appropriate Duration: Allow sufficient time without making it too long
- Test First: Attempt the exam yourself to verify it works correctly
Question Quality
- Clarity: Ensure questions are unambiguous
- Accuracy: Verify all answers are correct
- Relevance: Align questions with learning objectives
- Variety: Include different question types and topics
- Regular Updates: Keep content current and fresh
User Management
- Monitor Activity: Track user engagement regularly
- Identify Issues: Notice patterns in poor performance
- Provide Support: Offer help to struggling students
- Data Privacy: Protect student information
- Regular Communication: Keep users informed of updates
Analytics Usage
- Regular Review: Check analytics weekly
- Identify Trends: Look for patterns in performance
- Adjust Content: Modify questions based on feedback
- Share Insights: Communicate findings to stakeholders
- Data-Driven Decisions: Use metrics to improve platform
Security and Privacy
Data Protection
- User passwords are securely hashed
- Personal information is encrypted
- Access logs are maintained
- Regular backups are performed
Admin Responsibilities
- Protect admin credentials
- Don't share sensitive student data
- Follow institutional privacy policies
- Report security concerns immediately
- Use secure networks only
Exam Integrity
- Monitor for suspicious patterns
- Review unusual submission times
- Check for identical answers across users
- Investigate fullscreen violations
- Maintain exam confidentiality
Troubleshooting
Common Admin Issues
Cannot Create Exam:
- Check admin permissions
- Verify all required fields are filled
- Ensure date/time settings are valid
- Check question pool is not empty
Questions Not Loading:
- Verify markdown file format
- Check file paths are correct
- Ensure files are properly saved
- Review console for parsing errors
Users Cannot Access Exam:
- Verify exam is published
- Check start/end times are correct
- Ensure users meet prerequisites
- Confirm users are in eligible group
Analytics Not Showing:
- Wait for data to populate
- Check date range filters
- Verify exam has attempts
- Clear browser cache
Getting Help
For issues not covered in this guide:
- Review the Troubleshooting section
- Check system logs for errors
- Consult the API Documentation if relevant
- Contact technical support with specific error messages
Advanced Features
Custom Question Pools
Create specialized question sets:
- Organize questions by difficulty level
- Tag questions by topic and subtopic
- Create weighted selection rules
- Build adaptive question banks
Bulk Operations
Efficiently manage large datasets:
- Import multiple exams from templates
- Bulk update exam settings
- Mass user enrollment
- Batch evaluation processing
Integration Options
The platform supports integration with:
- Learning Management Systems (LMS)
- Student Information Systems (SIS)
- Analytics platforms
- Communication tools
API Access
For programmatic access:
- Authentication endpoints
- Exam management APIs
- User data retrieval
- Analytics data export
- Webhook notifications
Refer to the API Documentation for detailed information.
Need help? Check the FAQ or Troubleshooting guide.