Connect with fellow learners in the PlacePrep Discord communityㆍ Join now →
R's PlacePrep

Admin guide for running exams on PlacePrep: manage members and content, create exams, grade with AI assistance and handle placement posts.

Admin Guide

This comprehensive guide covers all administrative functions available on the R's PlacePrep platform.

Admin Access

Prerequisites

  • Your email must be listed in the reserved admin (or super admin) list
  • Valid credentials
  • Access to the admin panel URL (/admin)

A super admin adds your email from Admin Panel → Manage Admins. Your role is derived from that list at login, so you may need to sign out and back in after being added.

Admin Panel Sections

The admin sidebar gives you:

  • Dashboard — exam counts, attempt counts, and pending evaluations
  • Exams — create, edit, publish, and delete exams
  • Evaluations — grade coding submissions and handle review requests
  • Placements — create and manage TNP posts for your college
  • AI Settings — configure AI-assisted evaluation
  • Student Profiles — view, lock/unlock, and export student TNP profiles
  • Members — view and export the students of your college

Super admins additionally see Manage Admins and Platform Stats.

Admin registration number convention: DDMMYY + CollegeCode + First3LettersOfName (e.g. 010903109ROH). The platform only validates the shape — 9 digits followed by 3 letters — not the meaning of each part.

Admin vs Super Admin — Permissions at a Glance

FeatureAdminSuper Admin
Create and publish exams✅✅
Evaluate student submissions✅✅
Use AI-assisted evaluation✅✅
Handle review requests✅✅
View college members✅ (own college)✅ (all colleges)
Export members as CSV✅ (own college)✅ (all colleges)
Assign / revoke admin roles❌✅
View platform-wide stats❌✅
Export the full user list❌✅
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✅✅
Restrict an exam to any college❌ (own college)✅

Members and Student Profiles require your account to be a BEU account with a recognised college code.

Member Management

Viewing Members

  1. Navigate to Members in the admin sidebar
  2. View the students registered under your college
  3. Search by name, email, or registration number

Member Information

For each member you can see their name, email, registration number, branch, and college.

Member Actions

  • Edit: Correct a student's name, branch, registration number, or college. Roles cannot be changed here.
  • Delete: Remove a member record
  • Export CSV: Download the member list

Super admins can see and export the full cross-college user list from Platform Stats → Users.

Content Management

Question Organization

Pool questions are stored as markdown files under content/companies/<company>/<folder>/questions.md. For example:
content/
└── companies/
    ├── tcs/
    │   ├── aptitude/questions.md
    │   ├── coding/questions.md
    │   └── 2025-nqt/questions.md
    ├── infosys/
    │   ├── 2025-irt/questions.md
    │   └── coding/questions.md
    └── accenture/
        └── 2025-nlt/questions.md

Adding Questions

See the Contributing Guide for the exact markdown format the parser expects. In short, each question uses a Qn: header with a **Problem**: block, optional **Solution**: code blocks, and an **Answer**: line.

The question type is inferred automatically: questions with code blocks become coding, questions with lettered options or a single-letter answer become MCQ, and everything else becomes numerical.

Adding Questions Without Editing Files

Inside the exam builder you can also:

  • Write a custom question (MCQ, numerical, or coding) directly in the UI
  • Generate questions with AI for a chosen purpose, section, and mark distribution

Creating Exams

Detailed exam creation is covered in the Exam Management guide. Here's an overview:

Quick Start

  1. Navigate to "Exams" in the admin panel
  2. Click "Create New Exam"
  3. Fill in basic details and settings
  4. Add questions from the pool, write custom ones, or generate them with AI
  5. Publish the exam
  6. Share the generated exam code with your students

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:

  1. Navigate to "Evaluate" section
  2. Select the exam attempt to review
  3. Review student responses
  4. Assign points based on rubric
  5. Add feedback comments
  6. 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 3.3 70B) or Google Gemini (Gemini 2.0 Flash):

  1. Individual Evaluation: Click the "AI Evaluate" button on any pending coding question
  2. Bulk Evaluation: Use "AI Evaluate All" to process all pending coding questions on the evaluation queue or within one attempt
  3. Sequential Processing: Bulk evaluation runs one question at a time with a short delay between calls to reduce the chance of hitting provider rate limits
  4. Auto-Fallback: If the selected provider's key is missing or the call fails, the system automatically tries the other provider
  5. Partial Marks: AI can award partial marks in 0.25, 0.5, or 1.0 increments

AI evaluation only applies to coding questions. Objective questions are already scored automatically at submission.

AI Settings Configuration

Access AI Settings from the admin sidebar to configure:

  • API Keys: Save your own Groq and/or Gemini API keys. If you don't, the platform's default keys are used when configured.
  • Preferred Provider: Choose Groq (faster) or Gemini (more accurate)
  • Auto-Fallback: Enable or disable automatic provider switching
  • Allow Partial Marks and Mark Increment: Control partial marking precision

Your provider preferences are stored in your browser, so they need to be set on each device you evaluate from. API keys are stored on the server.

AI Evaluation Indicators

Questions evaluated by AI are marked as such in the evaluation UI, and the AI's feedback is shown to the student on their review page alongside any evaluator remarks.

Review Requests

Students can request a review of their evaluation (up to 2 times per attempt):

  1. Viewing Requests: Navigate to "Evaluate" > "Review Requests" tab
  2. Review Details: See the student's message explaining their concern
  3. 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:

  1. Click "Discard" on the review request
  2. The request is removed from your queue
  3. The student's status changes to "Request Discarded"
  4. The student can still request another review if they have remaining requests (max 2)
  5. 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: Coding submissions awaiting review, with a live count badge in the sidebar
  • Review Requests: Student re-evaluation requests
  • AI Evaluate All: Run AI evaluation across the pending queue

Statistics and Reporting

Admin Dashboard

The admin dashboard shows:

  • Total Exams and Active Exams
  • Total Attempts
  • Pending Evaluations
  • A list of your recent exams

Per-Exam View

Opening an exam shows its exam code and share link, its schedule and settings, and a table of every attempt with each student's score and status. From here you can export the results and delete individual or bulk attempts.

Platform Stats (Super Admin)

Super admins get a Platform Stats page with total users, exams, attempts, active exams, pending evaluations, and admin count, plus basic service health indicators. The user list can be exported from there.

Exporting Data

Admin exports are CSV only — exam results, members, TNP applicants, TNP profiles, and the super-admin user list. PDF and Word export exist only on the public company-questions and PYQ pages.

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 (default 60)
  • Start Time: When the exam becomes available
  • End Time: When the exam closes

Advanced Settings

  • Negative Marking: Percentage of points deducted for wrong answers (default 0)
  • Allow Early Submission: Let students submit before time expires (default on)
  • Enforce Fullscreen: Require fullscreen mode during the exam (default off)
  • Show Ranking: Display student ranks after submission (default off)

Access Control

  • Visibility: Open the exam to everyone, or restrict it to selected colleges. Admins can only restrict to their own college; super admins can pick any colleges.
  • Students always join with the exam code. Each student can attempt an exam once.

Question order and MCQ option order are always shuffled per student — this is not configurable.

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

  1. Go to the Admin Panel → Placements section from the sidebar
  2. Click "Create New Post" — the form opens in a side panel
  3. 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)
  4. 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"
  5. 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)
  6. Click "Create Post"
  7. 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

  1. Click on any post to open its detail page
  2. The Applicants section shows all students who applied, with:
    • Student name and email
    • Registration number
    • College and branch
    • Applied date
    • Application status
  3. When the post uses TNP Profile for applications, full profile data is fetched from the server and included in exports

Exporting Applicants as CSV

  1. On the post detail page, click "Export CSV"
  2. 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

  1. Go to Admin Panel → Student Profiles from the sidebar
  2. You'll see a list of all student profiles submitted by students in your college
  3. 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

  1. Click the "Export CSV" button (or the filter/export icon)
  2. The export respects all currently applied filters
  3. All profiles matching your filters are fetched (up to 5000)
  4. The CSV includes every field from the TNP Profile form:
ColumnDescription
NameStudent's full name
EmailStudent's email address
Reg NoUniversity registration number
BranchDepartment (e.g., CSE)
Branch CodeShort branch code
Current YearYear of study (1–4)
Current SemCurrent semester (1–8)
SessionAcademic session
College NameName of the college
College CodeCollege code
GenderMale / Female / Other
ReligionStudent's religion
Date of BirthFormatted date
Contact NumberPrimary phone
WhatsApp NumberWhatsApp phone
Alternate ContactAlternative phone
Aadhaar Number12-digit Aadhaar
Relocation PreferenceYes / No / Maybe
Admission TypeRegular / Management / Lateral Entry
10th Percentage10th class percentage
10th SchoolSchool name
10th BoardBoard name
10th Passing YearYear of passing
Has 12thYes / No
12th Percentage12th percentage (if applicable)
12th SchoolSchool name (if applicable)
12th BoardBoard name (if applicable)
12th Passing YearYear of passing (if applicable)
Has DiplomaYes / No
Diploma CollegeDiploma college name (if applicable)
Diploma Percentage/CGPADiploma score (if applicable)
Diploma Passing YearYear of passing (if applicable)
Current CGPACurrent cumulative GPA
CGPA Calculated Till SemSemester up to which CGPA is calculated
Semester-wise GPAIndividual semester GPA (e.g., "Sem 1: 8.5; Sem 2: 7.9")
LockedWhether the profile is locked (Yes / No)
Photo LinkClickable URL to view the student's photo
Resume LinkClickable 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

The tnp_profiles and tnp_posts collections — including the use_tnp_profile flag used by Direct Apply — and the tnp_documents storage bucket are created automatically by the setup script:
powershell
bun run setup:appwrite

See the Self-Hosting Guide for the full setup process.

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: The Google Apps Script that receives the feedback lives in scripts/exam-feedback-appscript.gs. Paste it into your spreadsheet's Apps Script editor, deploy it as a web app, and set the deployment URL as NEXT_PUBLIC_FEEDBACK_SHEETS_URL. Course feedback uses scripts/learn-feedback-appscript.gs in the same way.

Best Practices

Exam Creation

  1. Plan Ahead: Define objectives before creating exams
  2. Balanced Difficulty: Mix easy, medium, and hard questions
  3. Clear Instructions: Provide comprehensive exam guidelines
  4. Appropriate Duration: Allow sufficient time without making it too long
  5. Test First: Attempt the exam yourself to verify it works correctly

Question Quality

  1. Clarity: Ensure questions are unambiguous
  2. Accuracy: Verify all answers are correct
  3. Relevance: Align questions with learning objectives
  4. Variety: Include different question types and topics
  5. Regular Updates: Keep content current and fresh

User Management

  1. Monitor Activity: Track user engagement regularly
  2. Identify Issues: Notice patterns in poor performance
  3. Provide Support: Offer help to struggling students
  4. Data Privacy: Protect student information
  5. Regular Communication: Keep users informed of updates

Analytics Usage

  1. Regular Review: Check analytics weekly
  2. Identify Trends: Look for patterns in performance
  3. Adjust Content: Modify questions based on feedback
  4. Share Insights: Communicate findings to stakeholders
  5. Data-Driven Decisions: Use metrics to improve platform

Security and Privacy

Data Protection

  • Authentication and password hashing are handled by Appwrite
  • Sessions use httpOnly cookies
  • API routes verify your role on every request
  • Student photos and resumes are stored in a private storage bucket

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

  • Enable Enforce Fullscreen for high-stakes exams — it also detects tab switching
  • Share the exam code only with eligible students
  • Restrict the exam to specific colleges when appropriate
  • Review unusual submission times and identical answers
  • Check the submission type on attempts that ended early

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 the exam status is "published", not "draft"
  • Check start/end times are correct
  • Confirm students are using the right exam code
  • If the exam is college-restricted, confirm the students' college codes match

Stats Not Showing:

  • Wait for data to populate
  • Verify the exam has attempts
  • Reload the page

Getting Help

For issues not covered in this guide:

  1. Review the Troubleshooting section
  2. Check the FAQ
  3. Check server logs for errors
  4. Contact technical support with specific error messages

Found a problem with this page? Help us fix it.

Still stuck? Read the FAQ or the troubleshooting guide.