Final Synopsis Adanan
Final Synopsis Adanan
Chetana’s
Hazarimal Somani College of Comm. & Eco.
Smt. Kusumtai Chaudhari College of Arts
(Affiliated to University of Mumbai)
MAHARASHTRA
2022-2023
“ATTENDANCE WEB-APP”
A PROJECT REPORT
Submitted in partial fulfillment
of the Requirements for the Degree of
BACHELOR OF SCIENCE
(INFORMATION TECHNOLOGY)
1
ATTENDANCE WEB-APP
Date……………………………. Date…………………………….
Date……………………………. Date…………………………….
2
ATTENDANCE WEB-APP
ABSTRACT
Attendance management is important for all organizations. It can determine the future success
of organizations such as educational institutions, public or private sector. Organizations need
to track people within the organization, such as employees and students, to maximize performance.
Managing student presence during the semester has become a daunting task. The ability to
calculate attendance becomes a major task, as manual calculations are error-prone and waste a lot
of time. With this in mind, an efficient web-based attendance management system application was
developed to track student activity in the classroom. This application records attendance
electronically and records of attendance are stored in a database.
System design using the Model, View, Controller (MVC) architecture and implementation using
the power of the NEST JS Framework. The Web Application is entirely JS framework driven as it
uses AngularJS in Front-End and NestJS in Backend to improve the use of the system. MongoDB
is used for the application database. The designing part of the system will be done through figma
and the coding of the system will be done using visual studio code. Due to the different hourly
rates for calculating absenteeism, the system is designed to distinguish between theoretical and
practical class hours. One can manage and Insertion, deletion and modification of data in the
system can be done directly from the designed GUI without manipulating tables. You can present
different information from the system.
A test case of the system showed that it worked very well and was ready to be used to manage
student attendance in all departments of the university. Introduction. In addition, this process takes
a lot of time and department staff puts a lot of effort into completing attendance for each student.
It follows different purposes. These purposes include record keeping, student assessment, and
promoting optimal and consistent classroom participation. In many developing countries, most
educational institutions require a minimum percentage of classroom attendance, but this policy is
not met due to various challenges presented by current attendance recording methods. The process
of registering student attendance was paper-based and the system was manual. Not only is it time
consuming and laborious to prepare sheets and documents, but there are other drawbacks
compared to traditional methods, such as sheet theft due to lost or damaged sheets.
3
ATTENDANCE WEB-APP
ACKNOWLEDGEMENT
We have taken efforts in this project. However, it would not have been possible without the kind
support and help of many individuals and organizations. We would like to extend our sincere
thanks to all of them.
We are highly indebted to Prof. Saravanan Reddy for his guidance and constant supervision as
well as for providing necessary information regarding the project and also for their support in
completing the project.
We would like to express our gratitude towards our parents and members of Chetana’s
Hazarimal Somani College of Comm. & Eco. Smt Kusumtai Chaudhari College of Arts, for their
kind cooperation and encouragement which helped me in completion of this project.
4
ATTENDANCE WEB-APP
DECLARATION
We hereby declare that the project entitled, "Quiz Web-Application" done at Chetana’s
Hazarimal Somani College of Comm. & Eco. Smt Kusumtai Chaudhari College of Arts, has not
been in any case duplicated to submit to any other university for the award of any degree. To the
best of our knowledge other than us, no one has submitted to any other university.
The project is done in partial fulfillment of the requirements for the award of degree of
BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY) to be submitted as a final
semester project as part of our curriculum.
5
ATTENDANCE WEB-APP
Table of contents
1 INTRODUCTION 7-10
1.1 BACKGROUND 7
1.2 OBJECTIVE 8
1.3 PURPOSE 8
1.4 SCOPE 9
1.5 APPLICABILITY 9
4.4 DATABASE 23
6
ATTENDANCE WEB-APP
CHAPTER 1: INTRODUCTION
The Student Attendance System helps CRs and faculty maintain and manage students' online
attendance during classes and reduce manual work. Used to track student attendance, absence
records, attendance history, overdue monitoring, and other related documents. The most common
form of attendance is roll call or attendance book, which takes much more time, so manual
attendance systems require duplicated work, as excellent work must be done from the attendance
The mobile attendance system has been built to eliminate the time and effort wasted in taking
attendance in schools and colleges. It also greatly reduces the amount of paper resources needed
in attendance data management. The system is divided into following modules:
This is an android mobile app. It’s built to be used for school/college faculty so that
they may take student attendance on their phones.
Student Attendance List Creation: Once this App is installed on a phone, it allows
users to create a student attendance sheet consisting of name, roll number, date,
Absent/Present mark and subject. He has to fill student names along with associated
roll numbers.
Attendance Marking: The faculty has the list on his phone now. He may see the list,
call roll numbers and select the absent id the student is absent or select present if
student is present.
Attendance Storage: This data is now stored in the faculty mobile phone. Faculty
may also view it anytime on their phone.
Attendance sheet transfer: The faculty can transfer the file to a server (normal
computer) via an internet connection where this data can be stored and maintained by
the school or college.
Attendance Check: The PC operator may now check the attendance transferred as
Student roll no, date, time and sort by date to check presenters and absentees of a
particular date.
1.1 BACKGROUND
The Previous and most common method of attendance system observed everywhere is the
manual paper and roll call method, where CR or the faculty either pass the attendance sheet
for signature or take the roll call which requires a lot more time and energy.
In order to maintain & manage the attendance records the CR then has to do the double
manual work by working on excel data marking absent and presents.
The previous system had the risks of attendance manipulation or alteration or getting lost.
The process then can be misused.
In case of Defaulters and calculation of attendance performance of students. Although the
previous attendance system is entirely a multi-level manual work consuming much time,
effort and energy.
7
ATTENDANCE WEB-APP
1.2 OBJECTIVES:
The Primary objective is to replace the time consuming, mis usable and effort taking manual
attendance procedures into secured and optimized online fashion.
1. The online system will replace the manual paper-based work as CRs can directly take
attendance records to the system.
2. The system then manages and organizes the data which then skips the manual excel work
which system will do simultaneously.
3. It also skips the manual calculation procedure, as the system will do the calculation and
release of the monthly defaulter lists.
4. Introduced a chatbot facility for optimistic work at minimal commands.
1.3 PURPOSE:
a. Web-based attendance management system.
As compared to older methods, this web-based attendance system is more
favorable nowadays.
It is more convenient, fast and secure.
b. Remote working
The data can be managed irrespective of their place, as CRs can do their
attendance work from home too.
For monitoring or checking defaulters, it does not require any kind of sheets
as the system will provide at some fingertip commands.
c. User-friendly
The designing of the system is planned in such a way that maximum work
should be done with minimal efforts
It provides a simpler UI for users to handle their following operations.
The system proposed a chatbot facility responsible for doing commonly
observed daily tasks.
d. Secured
As mentioned in secured part, the system is directly linked with the database
which provides several authorizations and is designed in designation-based
fashion so that logins will be accessed with respect to their designation
The web-based system majorly avoids the risk of data lost or stolen or any
kind of temper.
e. Data rich
As it is a database driven web-application and does not require any sheet or
file to carry. CR or faculty can easily mark or manage the attendance directly
to the database.
f. Convenient
Major benefit of the web-based system is it has the ability to do more work in
less time and effort.
chat bot facility will provide the functionality with common daily tasks with
minimal commands.
8
ATTENDANCE WEB-APP
1.4 SCOPE:
The online attendance management software keeps track of student attendance over years
and generates data and reports for a large number of students over the given data.
Students, faculty members, and admin can access the software based on their roles and
responsibilities.
Defaulters will be released at the end of month.
Chatbot will be responsible for convenient work.
Auto-management of Data and generate the excel if needed.
1.5 APPLICABILITY:
a. SAVE TIME:
Most of the management will be done by the system itself as the Web application
facilitates less manual work.
b. MORE CONVENIENT:
As mentioned in point a, the web application will be responsible for most of the
work. Perhaps as per the title itself, “more work in less effort and time” is nothing
but convenient.
CRs and faculty can also use the chatbot to mark the attendance via several
commands.
c. SECURED:
Referring from previous techniques, the sheet method is not a good option in terms
of security and safety management of attendance data.
The system will provide the direct entry of attendance to a secured database which
can be extracted by respective faculties in excel format
1.6 ACHIEVEMENT:
a. Accurate Results
There is a high chance of human error when the attendance is taken manually and it is a
long and time-consuming process. The online attendance app is much faster and more
accurate than manual attendance, thus saving the time spent by faculty in doing it
manually.
b. Real-Time info
With the help of the online attendance app, monitoring and tracking of real-time
attendance of students and staff becomes much easier. Faulty can quickly check the
attendance of students in real-time through the online attendance app.
c. Paperless Environment
9
ATTENDANCE WEB-APP
The online attendance app provides a convenient paperless attendance system in the
classroom. The benefits of going paperless or using an online attendance app include
reduced cost, readily available and quickly accessible information, document security,
and many more.
d. Improved Efficiency
Manually managing attendance data usually takes a long time, and with many students,
it’s quite tedious indeed. With an online attendance app, faculty and school management
can monitor student’s attendance easily.
f. Reliable Data
The online attendance app will offer accurate data. Therefore, with the assistance of the
attendance app, you can wipe out the expense and human errors and focus on driving
efficiency in your school.
10
ATTENDANCE WEB-APP
2. Fingerprint
As the name implies, it is an attendance system that requires students’ fingerprints to clock in
and out. The strength of this system is that it is not easy to manipulate. However, this system
may not recognize your fingerprint when your fingers are wet or dirty
3. Face recognition
Face recognition is more complicated than the fingerprint system. It examines the human face
and eyes. If your face matches the data inside the system, it means you have been successfully
clocked in and out.
4. PIN-based system
Each students’ will have their own password. It can be in the form of numbers or letters. To
record your presence, you just need to input your password to the system. It seems simple but it
can be manipulated easily.
5. Magnetic cards
Students only need to swipe the card on the machine. After that, your attendance data will be
automatically stored in the system.
11
ATTENDANCE WEB-APP
a. Code Editor
1. Visual Studio Code
Visual Studio Code is a lightweight but powerful source code editor that runs
on your desktop and is available for Windows, macOS, and Linux.
It comes with built-in support for JavaScript, TypeScript, and Node.js and
has a rich ecosystem of extensions for other languages (such as PHP, Python,
HTML, CSS, etc.) and runtimes (such as NPM, Nest, json server).
Aside from the whole idea of being lightweight and starting quickly, VS
Code has IntelliSense code completion for variables, methods, and imported
modules; graphical debugging; linting, multi-cursor editing, parameter hints,
and other powerful editing features; snazzy code navigation and refactoring;
and built-in source code control including Git support. Much of this was
adapted from Visual Studio technology.
b. Designing
1. Figma
The name Figma comes from the fact that it's the first interface design tool
with real-time collaboration – or, as we like to say, it's a “figment of your
imagination”.
PRO TIP: Figma is a vector graphics editor and prototyping tool it is used by
designers to create high-quality designs and prototypes.
2. Canva
Canva is an online graphic design tool pre-loaded with thousands of
templates to spark your creativity.
Whether it be for internal use or for a client, the many benefits of using
Canva make it easier than ever to knock up stunning visuals in no time.
c. Modeling
1. StarUML
12
ATTENDANCE WEB-APP
StarUML is an open source software modeling tool that supports the UML
(Unified Modeling Language) framework for system and software modeling.
It actively supports the MDA (Model Driven Architecture) approach by
supporting the UML profile concept and allowing it to generate code for
multiple languages.
d. Preprocessors
1. ngBootstrap
It is a NPM powered bootstrap supported for JavaScript based frameworks.
Framework for front-end web development that is responsive and mobile-
first. It's made up of HTML, CSS, and (optionally) JavaScript.
2. SASS
Sass is the most mature, stable, and powerful professional grade CSS
extension language in the world.
Sass is completely compatible with all versions of CSS. We take this
compatibility seriously, so that you can seamlessly use any available CSS
libraries.
Sass boasts more features and abilities than any other CSS extension
language out there. The Sass Core Team has worked endlessly to not only
keep up, but stay ahead.
3. PrimeNg
PrimeNg is a collection of rich UI components for Angular. All widgets are
open source and free to use under MIT License.
e. Front-end
1. HTML, SCSS
HTML (Hypertext Markup Language) is the industry standard markup
language.
It can be helped by Sassy Cascading Style Sheets (SCSS). HTML pages are
received by web browsers from a web server or from local files.
The papers are stored and rendered as multimedia web pages. HTML
previously contained a semantic description of a web page's structure.
SCSS stands for Sassy Cascading Style Sheets and it describes the
appearance of a markup-based document. HTML is one such language.
2. JavaScript
One of the core technologies of the World Wide Web is JavaScript (JS), a
computer language that runs on HTML and CSS.
A dedicated JavaScript engine is available in all major web browsers for
executing code on users' devices. JavaScript is an ECMAScript-compliant
high-level, typically just-in-time compiled language.
Dynamic typing, prototype-based object orientation, and first-class functions
are all available.
3. Typescript
Typescript is a superscript of JavaScript, TypeScript is an object-oriented
programming language, whereas JavaScript is a scripting language.
Thus, TypeScript offers interfaces and modules through ES6 features; on the
other hand, JavaScript doesn't offer such features.
TypeScript adds additional syntax to JavaScript to support a tighter
integration with your editor. TypeScript code converts to JavaScript, which
runs anywhere JavaScript runs: In a browser, on Node.js and in your apps.
13
ATTENDANCE WEB-APP
f. Back-end
1. NodeJS
Node.js is a framework for effortlessly constructing fast and scalable network
applications based on Chrome's JavaScript engine.
Node.js is lightweight and efficient because of its event-driven, non-blocking
I/O mechanism, which makes it ideal for data-intensive real-time applications
that operate across multiple devices.
Node.js also comes with a big library of JavaScript modules, making it much
easier to construct web applications with it.
NodeJS is a framework rather than a programming language.
2. ExpressJS
Express is a Node.js web application framework that offers a comprehensive
collection of functionalities for developing online and mobile apps.
It allows for the quick creation of Node-based Web applications. Some of the
key elements of the Express framework are as follows: It Enables
middleware to reply to HTTP requests.
Defines a routing table that is used to conduct various activities based on a
set of criteria through HTTP method and the URL Enables dynamic
rendering of HTML pages based on parameters given in the form of
templates.
g. Frameworks
1. AngularJS
AngularJS is a structural framework for dynamic web apps. It lets you use
HTML as your template language and lets you extend HTML's syntax to
express your application's components clearly and succinctly.
AngularJS's data binding and dependency injection eliminate much of the
code you would otherwise have to write.
2. NestJS
Nest. JS helps build lightweight, well-structured and amazing microservices
and helps evolve the technology stack.
The microservice architecture enables the rapid, frequent and reliable
delivery of large, complex applications.
Out-of-the-box tools and features make development, extension, and
maintenance efficient.
h. Dependencies
1. Git
Git is a DevOps tool used for source code management. It is a free and open-
source version control system used to handle small to very large projects
efficiently.
Git is used to track changes in the source code, enabling multiple developers
to work together on non-linear development.
2. GitHub
GitHub is the place for open source. With so many great tools available to
developers, GitHub has become the place to be for open source software.
Some of the biggest open source projects are hosted on GitHub, such as Ruby
on Rails, AngularJS, Bootstrap and many many more.
3. RapidAPI
14
ATTENDANCE WEB-APP
15
ATTENDANCE WEB-APP
TIME CONSUMING:
UNSECURED DATA:
Due to manual paper-based attendance methods, there arises a risk of tampering with
data, or maybe a case where the attendance sheet can be ruined somehow or lost.
Therefore, there is a risk of attendance data.
UNRELIABLE:
It's been observed that students sometimes have low confidence about the attendance
procedure due to some internal problems that lead to conflicts.
16
ATTENDANCE WEB-APP
OS Windows 7 or more.
b. Hardware (Minimum):
Ram 2GB
OS architecture 32 bits
17
ATTENDANCE WEB-APP
Database MongoDB
18
ATTENDANCE WEB-APP
a. ACTIVITY Diagram:
Activity diagrams are graphical representations of workflows of stepwise activities and
actions with supports for choice, iteration and concurrency. In the Unified Modeling
language, activity diagrams are intended to model both computational and organizational
processes as well as the data flows intersecting with the related activities. Although activity
diagrams primarily show the overall flow of control.
b. Class Diagram:
Class diagram is a static diagram. It represents the static view of an application. Class
diagram is not only for visualizing, describing, and documenting different aspects of a
system but also for constructing executable code of the software application. Class diagram
describes the attribution and operations of a class and also the constraints imposed on the
system. The class diagrams are widely used in the modeling of object-oriented systems
because they are the only UML diagrams, which can be mapped directly with object-
oriented languages
19
ATTENDANCE WEB-APP
c. Use Case:
In the Unified Modeling Language (UML), a use case diagram can summarize the details of
your system’s users (also known as actors) and their interaction with the system. To build
one, you’ll use a set of specialized symbols connectors. An effective use case diagram can
help your team discuss and represent.
20
ATTENDANCE WEB-APP
d. ER Diagram:
ER Diagram stands for Entity Relationship Diagram, also known as ERD is a diagram that
displays the relationships of entity sets stored in a database. In other words, ER diagrams
helps to explain the logical structure of databases. ER diagrams are created based on the
basic concepts: entities attributes and relationships. ER Diagrams contains different symbols
that use rectangles to represent entities, ovals to define attributes and diamond shapes to
represent relationships.
e. Flowchart:
A flowchart is a picture of the separate steps of a process in sequential order. It is a generic
tool that can be adapted for a wide variety of purpose, and can be used to described various
processes, such as a manufacturing process, an administrative or service process, or a
project plan.
21
ATTENDANCE WEB-APP
f. Sequence Diagram:
A Sequence diagram shows an interaction arranged in time sequence. In particular, it shows
the objects participating in the interaction by their “Lifelines”, and the messages that they
exchange arranged in time sequence. It does not show the associations among the objects. It
represents an Interaction, which is a set of messages exchanged among objects within a
collaboration to affect a desired operation or result
Students
Students will have the control of their own view only.
d. Dashboards
Different users will be provided with different levels of information as per their
authorization.
e. Manage Users
The facility to assign or remove staffs or visiting faculties or CRs
f. Manage Students
Upload, Modify and Discard Student lists.
g. Manage Attendance
Management of all attendance systems such as marking, reviewing, or modification
of data.
h. Chatbot
The Facility to perform complex and timely tasks in a convenient way with minimal
commands.
1. Software design patterns, which constitute the optimal solutions employed by skilled object-
oriented developers to general issues that software developers face during developments
process.
2. Convenient design patterns that have proven valuable for constructing scalable, dependable
and secure applications.
4.4 Database
MongoDB is built on a scale-out architecture that has become popular with developers of all
kinds for developing scalable applications with evolving data schemas. As a document database,
MongoDB makes it easy for developers to store structured or unstructured data. It uses a JSON-like
format to store documents.
- A data structure is a storage that is used to store and organize data. It is a way of arranging
data on a computer so that it can be accessed and updated efficiently.
- A data structure is not only used for organizing the data. It is also used for processing,
retrieving, and storing data.
- There are different basic and advanced types of data structures that are used in almost every
program or software system that has been developed. So, we must have good knowledge
about data structures.
Registration
23
ATTENDANCE WEB-APP
Login
Test Case:
- Test Cases are frequently are pre-defined series of instructions addressing the processes to be
done in order to assess if the end output reflects the anticipated outcome.
- Predefined sets of inputs, conditions, and end results may be included in these instructions.
However, in order to complete one’s testing, one may wind up having an excessive number
of test cases.
- To prevent such problems, one should identify the appropriate test cases design approach for
their needs in order to cut the number of test cases significantly.
Test 2: - Check when a user enters valid Name pop up login success!
Another is showing Please enter a valid username
Test 3: - Check when a user enters valid email pop up login success!
Another is showing Please enter a valid email.
Test 4: - Check when a user enters valid Password pop up login success!
Another is showing Please enter a valid password.
24
ATTENDANCE WEB-APP
4.8 Testing
- Frontend: AngularJS unit testing has some fundamentals that help developers run a unit test for
their code. They must follow the below practices that every developer must follow while running
the unit testing. Let us discuss each one of them in detail.
o Karma: Karma is one of the best working test runners available for JavaScript
users. This software tests the unit cases while working on an AngularJS unit,
testing examples and applications. It is a productive tool that increases the
performance of the developers by providing quick results.
o Jasmine: It is a testing framework with many benefits. Jasmine is a self-sufficient
framework and does not require other frameworks or DOM for its processing.
- Backend:
o Automated testing is considered an essential part of any serious software
development effort. Automation makes it easy to repeat individual tests or test suites
quickly and easily during development.
25
ATTENDANCE WEB-APP
o This helps ensure that releases meet quality and performance goals. Automation
helps increase coverage and provides a faster feedback loop to developers.
o Automation both increases the productivity of individual developers and ensures that
tests are run at critical development lifecycle junctures, such as source code control
check-in, feature integration, and version release.
provides default tooling (such as a test runner that builds an isolated
module/application loader)
provides integration with Jest and Supertest out-of-the-box, while remaining
agnostic to testing tools
makes the Nest dependency injection system available in the testing
environment for easily mocking components
- $ npm i --save-dev @nestjs/testing
4.9 WIREFRAME
The designs you received are called wireframes (sometimes called wires, mockups, or mocks). A
wireframe is a schematic, a blueprint, useful to help you and your programmers and designers think and
communicate about the structure of the software or website you're building.
The same screen can be built in a lot of different ways, but only a few of them will get your message
across correctly and result in an easy-to-use software or website. Nailing down a good interface structure is
possibly the most important part of designing software.
a. Startup page
b. Login
26
ATTENDANCE WEB-APP
c. Dashboard demo
d. Chatbot
27