Lenora College of Engineering emblem Lenora Virtual ConnectLenora College of Engineering

Lenora Virtual Connect

One place for lessons, live classes, assignments, grades and attendance. Students learn, teachers teach and the administrator keeps it running, all from a web browser.

A final year project of Lenora College of Engineering. Truth & Knowledge.

Three modules, one classroom

Each person sees only what they need. The system checks the role on every request.

Student

Learns, submits and follows progress.

  • Register and sign in
  • Browse the course catalogue and enrol
  • Read lessons and open shared links
  • Join scheduled live classes
  • Submit assignments, and resubmit until graded
  • See marks, feedback and attendance
  • Ask questions in the course discussion

Teacher

Runs courses assigned by the administrator.

  • See only their own courses and students
  • Add lessons with text and links
  • Create assignments with deadline and marks
  • Schedule live classes with a private room
  • Grade submissions and write feedback
  • Mark attendance for every class
  • Answer in the discussion board

Administrator

Looks after people, courses and notices.

  • Dashboard with counts of students, teachers, courses
  • Create teacher, student and admin accounts
  • Enable or disable an account at once
  • Create courses and assign teachers
  • Enrol students and close courses
  • Post announcements for all students

How a class runs, start to finish

  1. The administrator sets up the courseCreates the course, assigns a teacher and, if needed, enrols students.
  2. The teacher prepares itAdds lessons, schedules a live class and creates an assignment with a deadline.
  3. Students join inThey enrol, read the lessons and join the live class from the course page.
  4. Students submit workAnswers can be replaced until the deadline or until the teacher grades them.
  5. The teacher grades and records attendanceMarks stay within the maximum, with written feedback for each student.
  6. Students see the resultMarks, feedback and attendance appear on their dashboard and course page.

Architecture

A three-tier web application. Every request passes one security filter before it reaches a servlet.

Browser

Client tier
  • HTML5 forms
  • CSS, works on a phone
  • No inline scripts
HTTP request
HTML page

Apache Tomcat 11

Application tier, Java 25
  • Security filter: headers, form token, role and account check
  • Servlets: sign in, student, teacher, admin, course
  • JSP pages with JSTL show the result
  • JDBC helper and connection pool
JDBC
SQL

PostgreSQL 18

Data tier
  • Users, courses, enrolments
  • Lessons, assignments, submissions
  • Live classes, attendance
  • Discussion, announcements
  • users
  • courses
  • enrollments
  • lessons
  • assignments
  • submissions
  • class_sessions
  • attendance
  • posts
  • announcements

Technology

Operating systemWindows 11, Linux or macOS
Front endHTML5 and CSS with JSP and JSTL (Jakarta Tags 3.0)
Back endJava 25 with Jakarta Servlet 6.1 and JSP
Application serverApache Tomcat 11
DatabasePostgreSQL 18
Database connectivityJDBC Type 4 driver (pgjdbc 42.7.14) with HikariCP connection pool
Build and runApache Maven (WAR file), Docker and Docker Compose
Live videoJitsi Meet rooms opened from the course page

Built to keep data safe

Passwords

Salted PBKDF2 hashing. Passwords are never stored or shown.

Database

Prepared statements on every query, and constraints that reject bad data.

Pages

Every value is escaped before display, and a content security policy blocks inline scripts.

Forms

A secret token on each form stops requests from other sites.

Roles

Role checked on every request. A teacher only reaches their own courses, a student only enrolled ones.

Accounts

Disabling an account blocks it on the very next click.