Professional Documents
Culture Documents
Kota Prozha22
Kota Prozha22
Prepared by:
Ali Sdiq Kakarash
Nabel Hamasalah Aziz
Mlko Fatih Mhamadamin
Supervised by
MSc. Lecture: Wria Muhamed
حكومةتى هةريَمي كوردستان
بةناونيشاني
دةكةين
سةرثةرشتيار
برِيارى ليذنةى طفتوطؤى ثرؤذةى دةرضوون
ئيَمة ئةندامانى ليذنةى طفتوطؤ و هةلَسةنطاندنى ثرؤذةى دةرضوونى هةرسىَ خويَندكارى قؤناغى ضوارةمى بةشى كؤمثيوتةر
ئةم تويَذينةوةيةمان خويَندةوة لةطةل هةرسىَ خويَندكار طفتوطؤمان دةربارةى ناوةرؤك و اليةنةكانى ترى كردو
2018 / / 2018 / / 2018 / / 2018 / /
Abstract
Over the years the manual attendance management has been carried across most of
educational institutions. To overcome the problems of manual attendance, we have developed
“Faculty Absence Management System”. Absence Management System is based on web
server, which can be implemented on any computer. In This application, node js is server side
language, MySQL is used for database and HTML, CSS, JavaScript, JQuery and Ajax are
used as front-end tools. The system communicates with database residing on a remote server.
It calculates automatically, the Absence percentage of students without any manual paper-
based work. The system facilitates the end users with interactive design and automated
processing of attendance management.
LIST OF FIGURE
Figure 1: URL Example. .......................................................................................................... 12
Figure 2: Login Form ............................................................................................................... 21
Figure 3: Dashboard Page ........................................................................................................ 22
Figure 4: Department Page ...................................................................................................... 23
Figure 5: Add Department ....................................................................................................... 23
Figure 6: Update Department................................................................................................... 24
Figure 7: Student Page ............................................................................................................. 24
Figure 8:Registration Student .................................................................................................. 25
Figure 9: Update Student ......................................................................................................... 25
Figure 10: User Page ................................................................................................................ 26
Figure 11: Registration User .................................................................................................... 27
Figure 12: Update User ............................................................................................................ 28
Figure 13: Group page ............................................................................................................. 29
Figure 14: Update User ............................................................................................................ 29
Figure 15: Subject Page ........................................................................................................... 30
Figure 16: Registration Subject ............................................................................................... 30
Figure 17: Update Subject ....................................................................................................... 31
Figure 18: Absent page ............................................................................................................ 31
Figure 19: Staff page ................................................................................................................ 32
Figure 20: Update Absent ........................................................................................................ 32
Figure 21: Techer Page 1 ......................................................................................................... 33
Figure 22: Teacher Page 2 ....................................................................................................... 34
Figure 23: Report Page ............................................................................................................ 35
Figure 24: 404 Page ................................................................................................................. 36
TABLE OF CONTENTS
Faculty absence management system ............................................................................ 1
Faculty absence management system ............................................................................ 2
CHAPTER ONE: INTRODUCTION .................................................................................... 8
1-1. Overview ........................................................................................................................ 8
1-2. The Project problem ..................................................................................................... 9
1-3. The aim of the project................................................................................................... 9
1-4. Project objectives .......................................................................................................... 9
1-5. Limitation .................................................................................................................... 10
1-6. Researches organize: .................................................................................................. 10
CHAPTER TWO ................................................................................................................... 11
LITERATURE REVIEW AND BACKGROUNDS ........................................................... 11
2.1. Literature review ............................................................................................................ 11
2-1. The project ................................................................................................................... 11
2-2. WEBSITE .................................................................................................................... 11
2-2-1. website ................................................................................................................... 11
2-2-2. WEBPAGES: ......................................................................................................... 12
2-2-3. comparison between website and web page?......................................................... 12
2-3.Node.js: ......................................................................................................................... 13
2-3-1 Node.js’s Express:................................................................................................... 14
2-3-2. node.js routing: ...................................................................................................... 14
2-4. JQuery: ........................................................................................................................ 15
2-5. Java script: .................................................................................................................. 15
2-6. Ajax: ............................................................................................................................. 17
2-7. DATABASE ................................................................................................................. 18
2-7-1. Definition ............................................................................................................... 18
2-7-2: MySQL .................................................................................................................. 20
CHAPTER 3 ........................................................................................................................... 21
DESIGN AND EXECUTION ............................................................................................... 21
3-1. Introduction ................................................................................................................. 21
3-2. System Analysis ........................................................................................................... 21
3-3. Pages ............................................................................................................................. 21
CHAPTER 4 ........................................................................................................................... 37
CONCLUSION AND FUTURE WORKS ........................................................................... 37
4-1. Conclusion ................................................................................................................... 37
4-2. Future Work ................................................................................................................ 37
Bibliography ................................................................................................................ 38
LIST OF ABBRIVATIONS
Recently, online system has become one of the most famous systems in the World of
technology because most of the business transformed to online. Most of the university even
school has online system for students, courses and teachers. The online school management
system makes easy for students, teachers to check the timetables from home. Furthermore, they
can check their works from home.
The main of the project is to build an online system from scratch for university of Suleiman/
College of Basic education, Computer Department to manage the department including
students, lecturers and subjects.
Totally, this project consists of three main different parts. the first part is for administration,
second one is for lecturers and third part of the website is for students.
Administrator is the managers who can insert new information to the website. Another
advantage of this project is the website can have more than one administrator. The duty of the
administrators is inserting the courses, lecturer names, students and chooses the courses for the
lecturers.
Second part is for lecturer, who can choose the absent students. Each lecture can have more
than one subject.
Third part of this project is for students. In the website, there are the list of students for each
stages even for each groups, the lecturer can see the list of students when he/she choose the
stage and subjects.
1-2. The Project problem
Till now, according to our information in our college, we have not any website that has
specialized with absent system. However, for Kurdistan’s university, it is necessity for lecturers
and staff university. So, we are trying to make the system to know about absents system for
university of Suleiman / college of basic education. We hope, this project will be a good
beginning for making a new website among Kurdistan’s universities for absent system.
The main purpose in this research is making a website in absent systems for university of
Sulaimani/ College of Basic education that the lecturers can register their information and have
a special account. Also, they see the subjects with different departments, furthermore, they can
do the absent systems. The head of departments can insert, modify or delete the lecturers and
subjects. Another benefit of the system is to know about the rates of the student absents.
The project objectives can be summarized with the following sub objects:
This project is easy in use that the lecturer can have account which created by the head
of departments.
We use Node.js for designing this website and use MySQL for making the database,
that it gives the strength to the project according to security.
There is full security for the website which no lecturer can insert to another subjects
except the her/his own subjects.
Showing the properties of Node.js with the most modern tools which help us to develop
this application.
1-5. Limitation
In chapter one, first overview of this research is written, the overview is covered the short
description of this research. Then problem statement has explained, as well as aim and objects
are clarified, such as this project is built by usingNode.js. Also, limitation of the project is
written, finally, research outline.
In chapter two, the background information and literature review about this project is written.
In the literature review some previous works have been discussed, also, in the background
information, the necessity of the project has been explained.
In chapter three, the design and implementation of the project is explained. The design of this
projects include design of whole system, also database and diagrams as well as the
methodology, the implementation of whole website has been discussed. The main two parts
including admin part and general user part have been explained in detail. The implementation
is explained with different types of page figures.
In chapter four, both future works and conclusion are illustrated. Future work includes all future
works that we want to add for this project. Also the main conclusion which we got from this
project has been discussed.
CHAPTER TWO
LITERATURE REVIEW AND BACKGROUNDS
2.1. Literature review
The project (1) is about the state’s School management System to computerize the school; this
system uses oracle 10g express and visual basic 6.0). The Front end used Visual Basic. The
Back End used is Oracle Server. In this project there are several modules such as Data Entry
module, Data Records module. These modules are further divided in to sub modules. That is
Class Setup, Student Setup, Teacher Setup Employee Attendance, Subject Setup, Examination
Setup and Exam Details are in Data Entry module. Student Details, Teacher Records, Student
Attendance, Employee Attendance, Fees Records are in the Data Records module. On the other
hand, (2) there is another project which give an idea of computerizing colleges Administration,
including their department information and especially students mark. In first chapter we give
an introduction to the System, objective and aim of our research and giving a brief detail about
the model that we use for the project, In second chapter we mentioned necessary definition and
concepts, also used technologies. The Third chapter is the core of the project which is practical
part. We show all necessary parts and steps for using the system . In last chapter from our work
we give suggestions and conclusion.
2-2. WEBSITE
2-2-1. website
A website is a collection of web pages (documents that are accessed through the Internet),
such as the one you're looking at now. A web page is what you see on the screen when you
type in a web address, click on a link, or put a query in a search engine. A web page can
contain any type of information, and can include text, color, graphics, animation and sound.
(3)
2-2-2. WEBPAGES:
A web page or web page is a document commonly written in HyperText Markup Language
(HTML) that is accessible through the Internet or other network using an Internet browser. A
web page is accessed by entering a URL address and may contain text, graphics, and
hyperlinks to other web pages and files. The page you are reading now is an example of a
web page. (4)
A website refers to a central location that contains more than one web page. For example,
Computer Hope is considered a website, which includes thousands of different web pages,
including this web page you are reading now.
This is in contrast to today's more common concurrency model where OS threads are
employed. Thread-based networking is relatively inefficient and very difficult to use.
Furthermore, users of Node are free from worries of dead-locking the process, since there are
no locks. Almost no function in Node directly performs I/O, so the process never blocks.
Because nothing blocks, scalable systems are very reasonable to develop in Node.
Node is similar in design to, and influenced by, systems like Ruby's Event Machine or
Python's Twisted. Node takes the event model a bit further. It presents an event loop as a
runtime construct instead of as a library. In other systems there is always a blocking call to start
the event-loop. Typically behavior is defined through callbacks at the beginning of a script and
at the end starts a server through a blocking call like EventMachine::run(). In Node there is no
such start-the-event-loop call. Node simply enters the event loop after executing the input
script. Node exits the event loop when there are no more callbacks to perform. This behavior
is like browser JavaScript — the event loop is hidden from the user.
HTTP is a first class citizen in Node, designed with streaming and low latency in mind. This
makes Node well suited for the foundation of a web library or framework.
Just because Node is designed without threads, doesn't mean you cannot take advantage of
multiple cores in your environment. Child processes can be spawned by using
our child_process.fork() API, and are designed to be easy to communicate with. Built upon that
same interface is the cluster module, which allows you to share sockets between processes to
enable load balancing over your cores (5).
In broad strokes, Express adds two big features to the Node.js HTTP server:
■ It adds a number of helpful conveniences to Node.js’s HTTP server, abstracting away a lot
of its complexity. For example, sending a single JPEG file is fairly complex in raw Node.js
(especially if you have performance in mind); Express reduces it to one line.
■ It lets you refactor one monolithic request handler function into many smaller request
handlers that handle only specific bits and pieces. This is more maintainable and more modular
(6).
Routing refers to how an application’s endpoints (URIs) respond to client requests. For an
introduction to routing.
You define routing using methods of the Express app object that correspond to HTTP methods;
for example, app.get() to handle GET requests and app.post to handle POST requests. For
a full list, You can also use app.all() to handle all HTTP methods and app.use() to specify
middleware as the callback function.
These routing methods specify a callback function (sometimes called “handler functions”) called
when the application receives a request to the specified route (endpoint) and HTTP method. In
other words, the application “listens” for requests that match the specified route(s) and
method(s), and when it detects a match, it calls the specified callback function.
In fact, the routing methods can have more than one callback function as arguments. With
multiple callback functions, it is important to provide next as an argument to the callback
function and then call next() within the body of the function to hand off control to the next
callback.
The following code is an example of a very basic route.
var express=require(‘express’)
var app=express();
app.get(‘/’,function(req,res){
res.send(‘hello word’)
}) (7).
2-4. JQuery:
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML
document traversal and manipulation, event handling, animation, and Ajax much simpler with
an easy-to-use API that works across a multitude of browsers. If you're new to jQuery, we
recommend that you check out the jQuery Learning Center.
If you're updating to a newer version of jQuery, be sure to read the release notes published
on our blog. If you're coming from a version prior 1.9, you should check out the 1.9 Upgrade
Guides as well (8).
JavaScript is a client-side scripting language, which means the source code is processed by the
client's web browser rather than on the web server. This means JavaScript functions can run
after a webpage has loaded without communicating with the server. For example, a JavaScript
function may check a web form before it is submitted to make sure all the required fields have
been filled out. The JavaScript code can produce an error message before any information is
actually transmitted to the server.
Like server-side scripting languages, such as PHP and ASP, JavaScript code can be inserted
anywhere within the HTML of a webpage. However, only the output of server-side code is
displayed in the HTML, while JavaScript code remains fully visible in the source of the
webpage. It can also be referenced in a separate .JS file, which may also be viewed in a
browser.
Below is an example of a basic JavaScript function that adds two numbers. The function is
called with the parameters 7 and 11. If the code below were included in the HTML of a
webpage, it would display the text "18" in an alert box.
<script>
function sum(a,b)
{
return a + b;
}
var total = sum(7,11);
alert(total);
</script>
JavaScript functions can be called within <script> tags or when specific events take place.
Examples include onClick, onMouseDown, onMouseUp, onKeyDown, onKeyUp, onFocus,
onBlur, onSubmit, and many others. While standard JavaScript is still used for performing
basic client-side functions, many web developers now prefer to use JavaScript libraries
like jQuery to add more advanced dynamic elements to websites (9).
2-6. Ajax:
Ajax is a combination of Web development technologies used for creating dynamic websites.
While the term "Ajax" is not written in all caps like most tech acronyms, the letters stand for
"Asynchronous JavaScript and XML." Therefore, websites that use Ajax
combine JavaScript and XML to display dynamic content.
The "asynchronous" part of Ajax refers to the way requests are made to the Web server. When
a script sends a request to the Web server, it may receive data, which can then be displayed on
the Web page. Since these events happen at slightly different times, they are considered to be
asynchronous. Most Ajax implementations use the XMLHttpRequest API, which includes a
list of server requests that can be called within JavaScript code. The data is usually sent back
to the browser in an XML format, since it is easy to parse. However, it is possible for the server
to send data as unformatted plain text as well.
What makes Ajax so powerful is that scripts can run on the client side, rather than on the server.
This means a JavaScript function can make a request to a server after a webpage has already
finished loading. The data received from the server can then be displayed on the page without
reloading the other content. If a server-side scripting language like PHP or ASP was used, the
entire page would need to be reloaded in order for the new content to be displayed.
While you may not realize it, you have probably seen Ajax at work on several different
websites. For example, search engines that provide a list of search suggestions as you type are
most likely using Ajax to display the suggestions. Image searches that produce
more thumbnails as you scroll through the results typically use Ajax to retrieve the continual
list of images. When you click "Older Posts" at the bottom of a Facebook page, Ajax is used
to display additional postings.
Ajax has helped make the Web more dynamic by enabling webpages to retrieve and load new
content without needing to reload the rest of the page. By using Ajax, Web developers can
create interactive websites that use resources efficiently and provide visitors with a responsive
interface (10).
2-7. DATABASE
2-7-1. Definition
A database is a set of data that has a regular structure and that is organized in such a way that
a computer can easily find the desired information.
A database can generally be looked at as being a collection of records, each of which contains
one or more fields about some entity (i.e., object), such as a person, organization, city, product,
work of art, recipe, chemical, or sequence of DNA. For example, the fields for a database that
is about people who work for a specific company might include the name, employee
identification number, address, telephone number, date employment started, position and
salary for each worker.
Flat databases are the simplest type. They were long the dominant type, and they can still be
useful, particularly for very small scale and simple applications. An example is a single table
on paper or in a computer file that contains a list of companies with information about each
such as name, address, product category, contact name, etc. A flat database can also exist in
the form of a set of index cards, each containing the information for one of the entities.
The development and subsequent rapid advance of electronic computers in the second half of
the twentieth century led to the development of database models that are far more efficient for
dealing with large volumes of information than flat databases. The most notable is the relational
model, which was proposed by E. F. Codd in 1970. Codd, a researcher at IBM, criticized
existing data models for their inability to distinguish between the abstract descriptions of data
structures and descriptions of the physical access mechanisms.
A relational database is a way of organizing data such that it appears to the user to be stored in
a series of interrelated tables. Interest in this model was initially confined to academia, perhaps
because the theoretical basis is not easy to understand, and thus the first commercial products,
Oracle and DB2, did not appear until around 1980. Subsequently, relational databases became
the dominant type for high performance applications because of their efficiency, ease of use,
and ability to perform a variety of useful tasks that had not been originally envisioned.
A database management system (DBMS) is software that has been created to allow the
efficient use and management of databases, including ensuring that data is consistent and
correct and facilitating its updating. For small, single user databases, all functions are often
managed by a single program; for larger and multi-user databases, multiple programs are
usually involved and a client-server architecture is generally employed. The first DBMSs were
developed in the 1960s in an attempt to make more effective use of the new direct
access storage devices that were becoming available as supplements and eventual replacements
for punched cards and magnetic tape. The word database is commonly used in a broad sense
to refer not only just to structured data but also to the DBMS that is used with it.
Databases can be stand-alone programs, or they can be built into other programs, including
those that are considered part of the operating system. The typical computer contains numerous
databases of the latter type. They include the many plain text configuration files that allow
users to easily modify system behavior on Linux and other Unix-like operating systems, web
browsers contain simple databases listing the most recently visited web sites and user
preferences, and e-mail programs contain simple databases listing e-mail addresses, recent
communications and user preferences (11).
2-7-2: MySQL
MySQL is the world’s most popular open source database, enabling the cost-effective
delivery of reliable, high-performance and scalable Web-based and embedded database
applications. It is an integrated transaction safe, ACID-compliant database with full commit,
rollback, crash recovery, and row-level locking capabilities. MySQL delivers the ease of use,
scalability, and high performance, as well as a full suite of database drivers and visual tools to
help developers and DBAs build and manage their business-critical MySQL applications.
MySQL is developed, distributed, and supported by Oracle, and the latest information about
MySQL software can be found on the MySQL Web site. The MySQL database provides the
following features:
High Performance and Scalability to meet the demands of exponentially growing data loads
and users. Self-healing Replication Clusters to improve scalability, performance and
availability. Online Schema Change to meet changing business requirements.
Performance Schema for monitoring user- and application-level performance and resource
consumption.
SQL and NoSQL Access for performing complex queries and simple, fast Key Value
operations.
Platform Independence giving you the flexibility to develop and deploy on multiple operating
systems.
Big Data Interoperability using MySQL as the operational data store for Hadoop and
Cassandra.
To achieve the highest level of MySQL scalability, security, reliability and uptime, MySQL
Enterprise Edition includes the most comprehensive set of advanced features, management
tools and technical support, including MySQL Enterprise Monitor, MySQL Enterprise Backup,
as well as scalability, security, auditing and high availability features. MySQL Enterprise
Edition also includes 24x7 Oracle Premier Support and Oracle product certifications and
integrations (12).
CHAPTER 3
DESIGN AND EXECUTION
3-1. Introduction
After completion all requirements to make a database for recording absent students of
faculty of physical and basic education of Sulaimani university. The database is tested for
analyzing the system to make sure that the requirements are sufficient and correct according
requested functionality of making database.
3-3. Pages
The Figure 3.1 shows the front-page database. Firstly, there are four rolls to entering the
web site database. But each rolls should be authorized to enter the system by specific
username and password.
In figure 5 the supper admin can add a department with headers in this page which only allows
the supper admin to do it.
In figure 3.6, this is for showing the student's information. It contains the student's name, the
student's code, the student's phone number, the department in which the student accepted, and
the student's stage and the group. It's also under the control of admin of the department who
can delete a student.
In figure 3.8 the admin can edit the information of the students, which includes the student's
name, the phone number, the department, the stage and the group. It's also under the control
of the admin.
Figure 3.13 is specialized for the teacher's information. only the admin can see it. Here
the admin of the department can add a new teacher to her/his department, edit the private
information of the teacher, or delete a teacher.
In figure 3.15 is where the new subjects are inserted. All the information about the subject
are inserted like for what department, stage or group is it. And the teacher who teaches that
subject is shown.
Figure 3.17 shows the student's absent. It shows the number of the absence students, and the
complete information about the absentee, such as the department, the stage, the subject and the
group, and also the date, and the hour of absent, the name of the teacher who absented the
student. deleting the absentees is also included in this page, but only super admin can delete it.
Figure 18 gives the supper admin a chance to edit the student's absence, in case of any
mistake or miscalculation. although supper admin get full information on the absentees
such as the teacher's name who absented the student, the date and hour of the absence, and
the absentee stage or group.
.
A 404 page error or Not Found error is displayed when you go to a page that doesn’t exist
within an active
Website.
In this study the web site database has designed for recoding absence students in
university. It consisted of several parts such as departments, teachers, students, subjects,
groups, and reports. Fortunately, the database was responsive which can run for computer,
iPad, and mobile. One of the properties of this project there have permitted for any users who
is allowed previously. It can allow to record absent of students with all their information for
example name of absented students, their department, teacher of subject, subject, group,
absent hours, and the date of absent. This project has completed and ready without any error
and it can be used for any faculty as it was flexible and editable.
The project is a part of great web site database which will developed in the future. In
this study the part of the project has taken and designed because of time restriction and several
functionality of the database. Further work will be done as follow: