How rlv-iith/portfolio-server-3.1 works
Purpose and entry points
This is a small Node.js-served portfolio/project site with separate general, professor, and student pages. The server entry point is server.js; browser entry pages are Index/index.html, Index/professor.html, and Index/student.html.
HTTP serving boundary
server.js is the application/runtime boundary between clients and the repository’s static UI assets. package.json and package-lock.json define the Node.js dependency/runtime contract. No API, database, authentication, or external service integration is evident from the tree.
Page-level experience variants
The UI is split into three independently authored HTML entry documents:
• General landing/content page: Index/index.html
• Professor-oriented experience: Index/professor.html
• Student-oriented experience: Index/student.html
This separation indicates role-specific presentation is handled at the page/template level rather than through a client-side router.
Styling layer
CSS is organized by shared versus audience-specific styling:
• Shared/default styling: Index/css/style.css
• Professor-specific styling: Index/css/style_professor.css
• Student-specific styling: Index/css/style_student.css
Each HTML page likely selects the appropriate stylesheet, making CSS the principal customization boundary between role variants.
Client-side behavior
js/main.js is the central browser-side behavior module. It is the likely location for interactive DOM behavior shared by or attached to the static pages. The HTML documents load this script and remain responsible for page structure and content.
Local content/assets
Assests/01.py is the only listed asset/content-generation-related file, despite its Python extension. It is separate from the Node.js serving path and may represent a standalone utility or source artifact rather than a production runtime component. The repository has no visible dedicated image, data, or public-assets directory.
Primary flow
A user requests a page from the Node server (server.js), receives one of the HTML documents under Index/, and the browser then loads page-selected CSS from Index/css/ plus client behavior from js/main.js. Role differentiation flows through distinct HTML and CSS files, not through server-side application logic visible in the tree.
Components 12
Node serving runtime
- Static web server · Runtime boundary serving repository UI assets.
server.js - Runtime dependencies
package.json - Locked dependencies
package-lock.json
Browser page variants
- General landing page
Index/index.html - Professor page
Index/professor.html - Student page
Index/student.html
Client presentation
- Shared styles
Index/css/style.css - Professor styles
Index/css/style_professor.css - Student styles
Index/css/style_student.css - Browser behavior · Shared interactive DOM behavior.
js/main.js
Other components
- User browser
- Standalone Python artifact · Outside the Node.js serving path.
Assests/01.py
Connections 12
- Runtime dependencies → Static web server: defines runtime
- Locked dependencies → Runtime dependencies: locks dependencies
- User browser → Static web server: requests page
- Static web server → General landing page: serves
- Static web server → Professor page: serves
- Static web server → Student page: serves
- General landing page → Shared styles: loads
- Professor page → Professor styles: loads
- Student page → Student styles: loads
- General landing page → Browser behavior: loads
- Professor page → Browser behavior: loads
- Student page → Browser behavior: loads