Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
Download your internship report from the Karuna Swayam Sevi Sansthan internship (Tailoring, Beautician, Mehndi) using your university roll number.
EducationTypeScript · CSSGitHub @Mosanna-JalalOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Students of Gautam Buddha Mahila College, Gaya enter their university roll number (or registration number) and download their internship report (Karuna Swayam Sevi Sansthan, 120 hours). Reports are stored as PDFs in MongoDB.
cp .env.example .env.local # then fill in MONGODB_URI
npm install
npm run dev
| Variable | Value |
|---|---|
MONGODB_URI | Atlas connection string |
MONGODB_DB | gbm-internship-reports (collection reports) |
On Vercel, add both variables under Project → Settings → Environment Variables, and allow Vercel's
IPs in Atlas → Network Access (0.0.0.0/0, since Vercel has no fixed IPs).
| Route | Returns |
|---|---|
GET /api/status | Database health and report counts per domain |
GET /api/reports | Every report's details (no PDFs) for the All reports page |
GET /api/reports/:roll | One student's details by university roll or registration number |
GET /api/reports/:roll/pdf | That student's PDF (?download=1 to save instead of view) |
GET /api/download/:id | A PDF by student id, as linked from the list (?view=1 to open inline) |
POST /api/corrections | A student's correction (type: "edit") or request for a missing report (type: "missing") |
Reads are rate limited per IP (120 requests / 10 min per server instance), corrections more
tightly (12 / 10 min). Responses carry a Server-Timing header; PDFs also send
X-Content-SHA256, which the page checks after download.
Corrections are stored in the corrections collection with status pending; nothing changes in a
report until the office applies it with generator/corrections.mjs.
Reports are built and uploaded from ../generator:
cd ../generator
node build.mjs --only <id> # rebuild a PDF
node --env-file=../gbm-internship-reports/.env.local upload.mjs # upload all (or --only <id>)
node --env-file=../gbm-internship-reports/.env.local corrections.mjs # review corrections from students
Each document holds the student's details, the PDF as binary data, its size, page count and SHA-256.
Unique indexes: studentId_1, universityRoll_1, registrationNo_1.
Designed & developed by Mosanna Jalal · MJX Web Studio