Skip to content

shivrajcodez/CampusConnect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Student Management System

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


πŸ” Demo Credentials

Role Username Password
Admin admin admin123
Student rahul.sharma student123
Student priya.patil student123

✨ Features

Admin Panel

  • πŸ” 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

Student Portal

  • πŸ” 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%

Validation

  • βœ… 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

πŸ› οΈ Tech Stack

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

πŸ—„οΈ Database Schema

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

πŸ“ Project Structure

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

πŸš€ Run Locally

Prerequisites

  • Java JDK 11+
  • Apache Tomcat 9
  • MySQL 5.7+
  • Eclipse IDE for Enterprise Java

Steps

1. Clone the repository

git clone https://github.com/shivrajcodez/CampusConnect.git

2. 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 USERNAME and PASSWORD with 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/

🐳 Deploy with Docker

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"]

πŸ“Š Grade System

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


πŸ—οΈ Architecture

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

πŸ‘¨β€πŸ’» Developer

Shivraj β€” Third Year Computer Engineering
SPPU Internship Project β€” Java Full Stack


πŸ“„ License

This project is open source and available under the MIT License.

About

πŸŽ“ Student Management System β€” Full Stack Java Web App (JSP + Servlet + JDBC + MySQL) | SPPU Third Year Project | Live on Railway

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors