Ads

Java DevOPS Live Real time Project Implementation

JAVA Application Project Name: School Management System App.
1.    AIM

The main aim of this project is to provide a platform for managing attendance of students, generate attendance reports, manage and record student details, manage the fee details of students , creating timetable etc. Attendance is calculated at the end of each day and updated to the database, whereas the reports are generated at the end of each month and percentage is calculated at the end of year.

With the help of school  management software project, student details and faculty details information such as phone numbers, user-id, address, etc. can be easily managed. The history and attendance details of each user (both student and faculty members) can be maintained.

  2. Overview
School Management System will have main modules for proper functioning. Details of the MVC architecture that will be used in this project will be as follow;
MVC is an architecture that separates business logic, presentation and data.In MVC, “M” stands for Model,” V stands for View and “C”stands for controller. It  is a systematic way to use the application where the flow starts from the view layer (where the request is raised) and processed in controller layer and sent to model layer to insert data and get back the success or the failure message.In this project, we will be using below technologies for these layers:
·        Model layer:- DAO and JDBC

·        View layer: - JSP
      .      Controller layer: - Servlet 

JAVA will be used as Business Logic Service for this project. For Testing purpose, we will be using JUNIT since we are developing TDD code.

3. Project Modules


3.1.        User module : It has right for creating any new entry of faculty and student details.It will be split, based on Roles Such as Student, Teacher, Principal, Admin.All users will have unique login Id and password, after logged into the system, user will be able to see and manage all options like:

       Student details: - This deal with the academic and personal details of pupils.
      Teacher details-It helps to maintain the record of the teachers allot the subject and the subject code to the particular staff member. Moreover, it also helps to provide the facility to have a user and password to the staff members.
     Admission details: -User can take the necessary information during the admission of the pupil. It helps to store the detail of the student.
      Timetable Details: - User make the timetable of the classes according to the days. And allot that timetable to the staff members.

Fee Details: - Here user can manage all fee details of the students, can manage & update all students fee details (Adding new fees detail, Edit the Existing Fees details, View all the details of the Fees)
       Attendance Details: - User can have the accessibility to maintain the attendance record.
3.2 Admission module: Here user can manage all formalities regarding admission, &                         update the students record details

3.3   Attendance module: Here user can manage attendance details of the students and     update all student attendance details. Monthly report of attendance from starting of the month to the end of the month. And at the end of the year, attendance percentage is calculated.    
3.4  Fee module: Here we can manage all fee details of the students, can manage & update all students fee details.
2.    4.  Database  :  The system uses MySQL as a language for the databases.
       4.1.        Tables  : In the database, SQLTables that we required to make the system are as follows:               
                    User table: Manage all the operations of user
School table: Manage all the operation of schools
             
             Timetable: Managing periods of the classes
                   Subject: Manage all the operations related to subjects.

            Attendance table: Manage all the operations regarding attendance
                  Admission table: Manage all the operations of Admission
                  Fee table: Manage all the operations related to fee.              
4.1.1.           Tables and their attributes of school Attendance management system
            User Module: - 
Column Name
Type
Default
Identification
Id
INTEGER
AUTO GENERATED
PK
User_name
VARCHAR
NULL
UNQ_K
User_id
VARCHAR


Contact
VARCHAR


Parent_name
VARCHAR


Dob
DATE


gender
ENUM


Password
LONGTEXT


address
LONGTEXT


CreatedAt
DATE_TIME


UpdatedAt
DATE_TIME
   

       Timetable: -
Column Name
Type
Default
Identification
Timetable_id
VARCHAR
NULL
PK
Class_id
VARCHAR

FK
Week_day
ENUM


Subject_id
VARCHAR

FK
Teacher_id
VARCHAR

FK
Start_time
TIME


End_time
TIME


  Subject Table: -
Column Name
Type
Default
Identification
Id
INTEGER
AUTO GENERATED
PK
Subject_name
VARCHAR


Class_id
INTEGER

FK
Is_expired
TINYINT(1)


Started_year
INTEGER


Ended_year
INTEGER


Created_at
TIMESTAMP


Updated_at
TIMESTAMP


 Fee Table: -
Column Name
Type
Defult
Identification
Id
INTEGER
AUTOGENERATED
PK
Amount
DECIMAL


Type
ENUM


Year
INTEGER


Class_id
INTEGER

FK
Created_at
TIMESTAMP


Updated_at
TIMESTAMP


        Type (enum) – admission ,monthly, exam, special)

School Table:
Column
Type
Default
Identification
Id
INTEGER
AUTOGENERATED
PK
School_name
VARCHAR


Head_id
INTEGER

FK
Principal_id
INTEGER

FK
Hhm_id(headmaster-high school)
INTEGER

FK
Phm_id(primary headmaster
INTEGER

FK
Created_at
TIMASTAMP


Updated_at
TIMESTAMP


 Admission Table:

Column
Type
Default
Identification
Id
VARCHAR
AUTOGENERATED
PK
Fee_id
INTEGER

FK
Class_id
VARCHAR

FK
Created_at
TIMESTAMP


Updated_at
TIMESTAMP


 Attendance Table: -

Column
Type
Default
identification
Id
INTEGER
AUTOGENERATED
PK
Tt_id(timetable_id)
INTEGER

FK
Student_id
INTEGER

FK
Teacher_id
INTEGER

FK
Present
TINYINT(1)


Attendance_time
TIEMSTAMP


Created_at
TIMESTAMP


Updated_at
TIMESTAMP


 Student_Admission Table: -
Column
Type
Default
Identification
Id
INTEGER
AUTOGENERATED
PK
Student_id
INTEGER

FK
Admission_id
VARCHAR

FK
Due_date
TIMESTAMP


Payment_complete
TINYINT(1)


Created_at
TIMESTAMP


Updated_at
TIMESTAMP


  Fees_Payment: -
Column
Type
Default
Identification
Id
INTEGER
AUTOGENERATED
PK
Fee_id
INTEGER

FK
Student_id
INTEGER

FK
Admission_id
INTEGER

FK
Amount_paid
INTEGER


Payment_date
TIMESTAMP


Payment_mode
ENUM


Payment_type
ENUM


Card_type
ENUM


Created_at
TIMESTAMP


Updated_at
TIMESTAMP


Payment_mode : enum(offline/online)                                                                                        Payment_type : cash/cheque/card/netbanking/upi                                                                                  Card _type: credit card/ debit card
  Classes Table: -


Column
Type
Default
Identification
Id
INTEGER
AUTOGENERATED
PK
Name
VARCHAR


School _id
INTEGER

FK
Section
VARCHAR


Branch_id
INTEGER

FK
Teacher_id
INTEGER

FK
Created_at
TIMESTAMP


Updated_at
TIMESTAMP


 branches Table: -
Column
Type
Default
Identification
Id
INTEGER
AUTOGENERATED
PK
School_id
INTEGER

FK
Principal_id
INTEGER

FK
Hhm_id
INTEGER

FK
Phm_id
INTEGER

FK
Address
VARCHAR


Created_at
TIMESTAMP


Updated_at
TIMESTAMP


  Role Table: -
c
Column
Type
Default
Identification
Id
VARCHAR
AUTOGENERATED
PK
Name
VARCHAR


Created_at
TIMESTAMP


Updated_at
TIMESTAMP




5.    Testing
Once code has been generated, software must be tested to uncover as many errors as possible before delivery to customer.
The main aim of testing is to design a series of test cases that can find errors.
Testing of software, checks whether the needed requirements that guided its design and implementation fulfilled or not.
Testing is helpful in performing the functions of project within an acceptable time.
Testing of software is sufficiently usable and it checks whether the desire result/output is generated or not.
In this project, we will use JUNIT for unit testing code. Since we are developing TDD code.
2.    6. Technology used in the project: -
CSS: CSS has been used for all the designing part
JAVA: All the business logic has been written in Java
JSP:  All the front-end logic has been written in JSP
MySQL: MySQL database has been used as database for project
Tomcat: Project will be run over the Tomcat server
Servlet: Servlet is used as controller

     7.Tools used in the project: -
  • Build System Management: Apache- Maven 4.0.0
  • Server: Apache -Tomcat-9.0.34
  • IDE: Eclipse JEE IDE (version- Eclipse 2019-12 (4.14))
  • Version Controller: Git (version-2.26.0). window.1
8.    Libraries
Libraries that will be used in the project is as below;
·        Junit- 4.11
·        Mysql-connector-java-8.0.20
·        Javax.sevlet-api-4.0.1
·        Javax.servlet.jsp-api-2.3.3