A full-stack web application built with Core Java, JDBC, Servlet, JSP and MySQL.
Developed as part of the SPPU Third Year PAT (Project Based Assessment) internship project.
π Live Demo: campusconnect-production-45d8.up.railway.app
| Role | Username | Password |
|---|---|---|
| Admin | admin |
admin123 |
| Student | rahul.sharma |
student123 |
| Student | priya.patil |
student123 |
- π Secure login with session management
- π Dashboard with total students and courses count
- π¨βπ Add, Edit, Delete, View Students (full CRUD)
- π Search students by name, email, enrollment number, department
- π Course Management (Add, Edit, Delete courses)
- π Marks Entry with automatic grade calculation
- π Attendance Tracking (Present / Absent / Late)
- π¨οΈ Print student records
- π Secure login with personal session
- π Personal dashboard with profile info
- π View enrolled courses
- π View personal marks and grades
- π View attendance with percentage
β οΈ Warning if attendance below 75%
- β Indian mobile number validation (10 digits, starts with 6-9)
- β Email format validation (frontend + backend)
- β Duplicate email and phone detection
- β Marks range validation (0-50 each)
- β Bootstrap form validation with live feedback
| Layer | Technology |
|---|---|
| Frontend | JSP, HTML5, CSS3, Bootstrap 5 |
| Backend | Core Java, Servlets |
| Database | MySQL, JDBC |
| Server | Apache Tomcat 9 |
| Hosting | Railway.app (Docker) |
| IDE | Eclipse IDE for Enterprise Java |
users β user_id, username, password, role
students β student_id, name, email, phone, enrollment_number, department, year
courses β course_id, course_name, course_code, department, credits, semester
enrollments β enrollment_id, student_id, course_id (junction table)
marks β mark_id, student_id, course_id, internal, external, total, grade
attendance β attendance_id, student_id, course_id, date, status
StudentManagementSystem/
βββ src/
β βββ com/sms/
β βββ model/ β Student.java, User.java, Course.java, Marks.java, Attendance.java
β βββ dao/ β StudentDAO.java, UserDAO.java, CourseDAO.java, MarksDAO.java, AttendanceDAO.java
β βββ servlet/ β LoginServlet, StudentServlet, CourseServlet, MarksServlet, AttendanceServlet
β βββ util/ β DBConnection.java, ValidationUtil.java
βββ WebContent/
β βββ jsp/ β login, dashboard, addStudent, viewStudents, editStudent,
β β manageCourses, manageMarks, manageAttendance,
β β studentDashboard, myMarks, myAttendance, error
β βββ WEB-INF/
β βββ web.xml
β βββ lib/ β mysql-connector-j.jar
βββ Dockerfile
- Java JDK 11+
- Apache Tomcat 9
- MySQL 5.7+
- Eclipse IDE for Enterprise Java
1. Clone the repository
git clone https://github.com/shivrajcodez/CampusConnect.git2. Import in Eclipse
- File β Import β Existing Projects into Workspace
- Select the cloned folder
3. Setup MySQL
- Create database:
student_management_db - Run the SQL script from
database.sql
4. Update DB credentials
- Open
src/com/sms/util/DBConnection.java - Update
USERNAMEandPASSWORDwith your MySQL credentials
5. Add MySQL JAR
- Download
mysql-connector-j-8.x.jar - Add to
WebContent/WEB-INF/lib/ - Add to Build Path
6. Run on Server
- Right-click project β Run As β Run on Server β Tomcat 9
7. Open browser
http://localhost:8080/StudentManagementSystem/
FROM tomcat:9.0-jdk17-temurin
RUN rm -rf /usr/local/tomcat/webapps/*
COPY StudentManagementSystem.war /usr/local/tomcat/webapps/ROOT.war
EXPOSE 8080
CMD ["catalina.sh", "run"]| Total Marks | Grade |
|---|---|
| 90 - 100 | A+ |
| 80 - 89 | A |
| 70 - 79 | B |
| 60 - 69 | C |
| 50 - 59 | D |
| Below 50 | F |
Internal marks: 0-50 | External marks: 0-50 | Total: 0-100
This project follows the MVC (Model-View-Controller) pattern:
- Model β Java classes in
com.sms.model(Student, Course, Marks, etc.) - View β JSP pages in
WebContent/jsp/ - Controller β Servlets in
com.sms.servlet - DAO Layer β Database operations in
com.sms.dao
Shivraj β Third Year Computer Engineering
SPPU Internship Project β Java Full Stack
This project is open source and available under the MIT License.