Collage and School management portal using Vue.js and Java JDBC (JPA and DTO), MySQL.
- Core Language: Java 17
- Framework: Spring Boot 3.x / 4.x
- ORM & Data Access: Spring Data JPA / Hibernate & JDBC (JPA and DTO patterns)
- Database: MySQL
- Build System: Gradle
- Boilerplate Reduction: Lombok
- Framework: Vue 3
- Build Tool: Vite
- Language: TypeScript
- State/Types: TypeScript compiler configurations for Vite & Node
- Styling: Vanilla CSS / custom styling
├── SMS/ # Spring Boot Backend
│ ├── src/ # Backend source code
│ │ ├── main/java/ # Controller, Service, POJO, JPA classes
│ │ └── main/resources/ # application.properties & resources
│ ├── build.gradle # Gradle project configuration
│ └── gradlew # Gradle wrapper script
│
├── Frontend/ # Vue.js Frontend
│ └── sms/ # Main Vue application
│ ├── src/ # Frontend source code (components, views, styles)
│ ├── package.json # NPM package dependencies
│ └── vite.config.ts # Vite configuration
│
└── README.md # Project documentation
- Java Development Kit (JDK) 17 or higher
- Node.js (v20+ recommended)
- MySQL Database Server
-
Create MySQL Database: Log into MySQL and create a database named
my_school_db:CREATE DATABASE my_school_db;
-
Configure Database Connection: Open SMS/src/main/resources/application.properties and update the database username/password if needed:
spring.datasource.url=jdbc:mysql://localhost:3306/my_school_db spring.datasource.username=your_username spring.datasource.password=your_password
-
Run the Spring Boot Application: Navigate to the
SMSdirectory and execute:# On Windows .\gradlew.bat bootRun # On Linux/macOS ./gradlew bootRun
-
Navigate to the frontend folder:
cd Frontend/sms -
Install Dependencies:
npm install
-
Run the Development Server:
npm run dev
Open your browser and navigate to
http://localhost:5173/(or the port specified by Vite).
- Authentication (Sign In / Registration): Secure custom login for Admins, Staff, and Students.
- Student Management: Dynamic student enrollment, profiles, and active lists.
- Staff Management: Detailed staff member details and department categorization.
- Fees Tracking: Logs student fees payment status.
- Results / Academic Grades: Record and view subject-wise results for students.
- Staff Salary Management: Track employee payroll and salaries.