Model Summary with Relationships
πΉ 1. Student
Field Name Type
id Long (PK)
name String
email String
mobile String
gender String
dob LocalDate
address String
qualification String
batchTime String
course Course (ManyToOne)
fees List (OneToMany)
πΉ 2. Course
Field Name Type
id Long (PK)
courseName String
duration String
fee Double
syllabus String
students List (OneToMany)
faculties List (OneToMany)
πΉ 3. Faculty
Field Name Type
id Long (PK)
name String
email String
mobile String
department String
qualification String
experience int
course Course (ManyToOne)
πΉ 4. Fee
Field Name Type
id Long (PK)
amount Double
paymentDate LocalDate
paymentMode String
receiptNo String
student Student (ManyToOne)
πΉ 5. User (For Login)
Field Name Type
id Long (PK)
username String
password String
email String
role String (ADMIN / STUDENT / FACULTY)
πΉ 6. LoginAttempt (Optional β for fraud monitoring)
Field Name Type
id Long (PK)
username String
success boolean
timestamp LocalDateTime
ipAddress String
7. Attendance Table (Student daily attendance)
Field Name Type
id Long (PK)
date LocalDate
status String (PRESENT, ABSENT)
student Student (ManyToOne)
π Use Case: Track student presence/absence
π Can create monthly report, SMS alert if absent
8. Notification Table (Email/SMS/WhatsApp logs)
Field Name Type
id Long (PK)
recipientEmail String
subject String
message String
status String (SENT, FAILED)
sentAt LocalDateTime
π Use Case: Track which student/faculty got which notification
π Useful for support & debugging
9. Feedback Table (Student Feedback)
Field Name Type
id Long (PK)
message String
rating Integer (1β5)
submittedAt LocalDateTime
student Student (ManyToOne)
π Use Case: Students can rate institute/faculty
π You can show average rating, dashboard chart
10. AuditLog Table (Admin change history log)
Field Name Type
id Long (PK)
action String (e.g. "DELETE_FEE")
module String (e.g. "FeeModule")
performedBy String (username)
timestamp LocalDateTime
ipAddress String
π Use Case: Fraud prevention, history trace
π If admin deletes or edits fees, log it
11. Enquiry Table (Public enquiry form submissions)
Field Name Type
id Long (PK)
name String
email String
mobile String
message String
submittedAt LocalDateTime
π Use Case: Website visitors enquiry β store & respond
π Admin dashboard la show panna useful
12. Batch Table (Batch-wise grouping)
Field Name Type
id Long (PK)
name String (e.g. "Morning Batch")
time String (e.g. "9 AM β 11 AM")
students List (OneToMany)
Real-time attendance system
β Communication tracking (Email/SMS logs)
β Feedback module
β Admin action logging (Audit)
β Enquiry form from homepage
β Batch time-wise student grouping
# | Table Name |
---|---|
1 | Student |
2 | Course |
3 | Faculty |
4 | Fee |
5 | User |
6 | LoginAttempt |
7 | Attendance β |
8 | Notification β |
9 | Feedback β |
10 | AuditLog β |
11 | Enquiry β |
12 | Batch β |
π Use Case: Students split by batch
π Useful for batch attendance, scheduling
π Relationship Summary (with Diagram Style Explanation)
Main Models
π§βπ Student
- π ManyToOne β
Course
- π OneToMany β
Fee
- π OneToMany β
Attendance
β - π OneToMany β
Feedback
β - π ManyToOne β
Batch
β
π Course
- π OneToMany β
Student
- π OneToMany β
Faculty
π§βπ« Faculty
- π ManyToOne β
Course
π° Fee
- π ManyToOne β
Student
π€ User
- β No FK, role-based (ADMIN / STUDENT / FACULTY)
β LoginAttempt
- No relationship β just username, timestamp, IP log
π¨ Advanced Tables & Relationships
π
Attendance
β
- π ManyToOne β
Student
π Each student may have many attendance entries
π¬ Feedback
β
- π ManyToOne β
Student
π One student gives multiple feedback entries
βοΈ Notification
β
- β No direct FK β email/username based π Store log of messages sent to students or faculty
π AuditLog
β
- β No direct FK β stores who performed what, IP-based π Logs admin actions (e.g., fee deleted)
π Enquiry
β
- β No FK β submitted by external users π Stores public form submission
β° Batch
β
- π OneToMany β
Student
π One batch may have many students
π Full Relationship Flow (Simplified)
Course
ββββ¬ββ> Student
β βββ> Fee
β βββ> Attendance
β βββ> Feedback
β βββ> Batch
ββββ¬ββ> Faculty
User (Login only)
LoginAttempt (Logs only)
Enquiry (No relation)
Notification (Message log)
AuditLog (Admin log)
Relationship Keywords
Relationship | Meaning |
---|---|
OneToMany | One record β Many linked rows |
ManyToOne | Many records β One reference |
No Relation | Table is stand-alone (log, form) |
Top comments (0)