1822-b.e-cse-batchno-169
1822-b.e-cse-batchno-169
by
SATHYABAMA
MARCH - 2022
DEPARTMENT OF Computer Science and Engineering
BONAFIDE CERTIFICATE
This is to certify that this Project Report is the bonafide work of Mugunthan Raju G
(Reg.No: 38110333) and Yeruva Joseph Sravan Kumar Reddy (Reg.No: 38110670)
who carried out the project entitled ―ALUMNI PORTAL‖ under my supervision from
November 2021 to April 2022.
Internal Guide
We Mugunthan Raju G (Reg.No: 38110333) and Yeruva Joseph Sravan Kumar Reddy
(Reg.No: 38110670) hereby declare that the Project Report entitled ALUMNI PORTAL done
by us under the guidance of Dr. J. ALBERT MAYAN, M.E., Ph.D (Internal) is submitted in
partial fulfillment of the requirements for the award of Bachelor of Engineering / Technology
i
TABLE OF CONTENT
ABSTRACT i
LIST OF FIGURES ii
1 INTRODUCTION 1-5
1.1. AIM 1
1.2 SCOPE 2
3 METHODOLOGIES 10-23
3.1 REQUIREMENTS 10
3.2 TECHNOLOGIES 11
4.1 RESULT 24
5.1 CONCLUSION 36
REFERENCES 38-39
APPENDICES 40-46
A) JOURNAL SUBMISSION 40
B) PLAGIARISM REPORT 41
C) PROJECT CODE 42
LIST OF FIGURES
4.8 Testimonials 32
ii
LIST OF ABBREVIATION
DB DataBase
JS JavaScript
UI User Interface
iii
CHAPTER 1
INTRODUCTION
1.1.1 OBJECTIVE :
1
1.2 SCOPE :
To bring together all the old students and the faculty members to share their
experiences with each other which utilize the rich experiences of old students of
the college for the benefit and progress of the present students. It also helps to
provide guidance to the present students in their endeavor for better employment
and higher studies. To get the valuable advice of the Alumni in the overall
development of the college.
1.3.1 Preface :
1.3.2 Frontend :
2
The objective of designing a site is to ensure that when the users open up the
site they see the information in a format that is easy to read and relevant. This is
further complicated by the fact that users now use a large variety of devices with
varying screen sizes and resolutions thus forcing the designer to take into
consideration these aspects when designing the site. They need to ensure that
their site comes up correctly in different browsers (cross-browser), different
operating systems (cross-platform) and different devices (cross-device), which
requires careful planning on the side of the developer.
1.3.3 Backend :
Web development activities that are done at the back end of programs are
referred to as back end development. Back-end development covers server-side
web application logic and integration and activities, like writing APIs, creating
libraries, and working with system components instead of frontend development,
which focuses on customer-facing services and programs. Backend developers
build code that allows a database and an application to communicate with one
another. Backend developers take care and maintain the back-end of a website,
Including databases, servers, and apps, and they control what you don't see.
Backend is the server-side of the website. It stores and arranges data, and
also makes sure everything on the client-side of the website works fine. It is the
part of the website that you cannot see and interact with. It is the portion of
software that does not come in direct contact with the users. The parts and
characteristics developed by backend designers are indirectly accessed by users
through a front-end application. Activities, like writing APIs, creating libraries, and
working with system components without user interfaces or even systems of
scientific programming, are also included in the backend.
3
1.3.4 Database :
In a database, data is organized into tables consisting of rows and columns and it
is indexed so data can be updated, expanded, and deleted easily. Computer
databases typically contain file records data like transactions money in one bank
account to another bank account, sales and customer details, fee details of
students, and product details. There are different kinds of databases, ranging
from the most prevalent approach, the relational database, to a distributed
database, cloud database, and NoSQL databases.
1.3.5 Container:
A container is a standard unit of software that packages up code and all its
dependencies so the application runs quickly and reliably from one computing
environment to another. A Podman container image is a lightweight, standalone,
4
executable package of software that includes everything needed to run an
application: code, runtime, system tools, system libraries and settings.
5
CHAPTER - 2
LITERATURE SURVEY
6
level up their standards. It fulfills the social demand of modern college. It doesn't
support the current students to level up their standards.
The main research question that the paper attempts to address is - how to
collect and maintain records of alumni with minimal requirement of centralized
data collection and manual entry. Enticing and motivating alumni, who have
graduated and busy in their own ways, to enter their latest profile is also
challenging. As a partial solution to the above problem, the main research
contribution of this work is the development and implementation of an online
system. Alumni Data are genuinely true and have been cleaned by several
processes. Manual cleaning of data makes it a tedious system.
2.5 S.C.Vidhate:
The system of alumni tracking application is a web-based system that is
accessible to all alumni. It can also serve as a website/medium for graduates and
7
their respective college alumni coordinators to stay in touch. This platform
collects critical information from alumni. These data, particularly on their
employment, can be used to inform strategic decisions, such as curriculum
revision, research agenda preparation, and potential extension activities, among
other things. A mobile device can be used to access the website, where college
graduates can update their current employment status and other information. All
collected data must be saved on a server. There are no automata for
incorporating upcoming Alumni data.
8
about what is going on in our college and to learn about the institute. Only
authorized users have access to this portal. The web application aids in the
generation of accreditation reports from the Higher Education Committee of the
government of the nation. Every time the system is updated, the current role of
the Alumni is updated. They failed to create an interactive Alumni Portal in this
case.
The leading research topic that the paper seeks to answer is how to acquire
and manage alumni records with minimum centralized data collecting and
manual entry. It is also difficult to entice and motivate alumni who have
graduated and are busy in their own ways to enter their most recent profile. The
main scientific contribution of this work is the invention and implementation of an
online system as a partial solution to the above challenge. Alumni data are real
and have been sanitized through a number of methods. Manual data cleaning
makes it a time-consuming system.
9
CHAPTER 3
METHODOLOGIES
3.1 REQUIREMENTS :
10
functioning of an application. These requirements or prerequisites are generally
not included in the software installation package and need to be installed
separately before the software is installed.
3.2 TECHNOLOGIES :
3.2.1 FRONTEND :
3.2.1.1 HTML :
11
delineated by tags, written using angle brackets. Tags such as <img /> and <input />
directly introduce content into the page. Other tags such as <p> surround and
provide information about document text and may include other tags as sub-
elements. Browsers do not display the HTML tags but use them to interpret the
content of the page.
3.2.1.2 CSS :
3.2.1.3 Javascript :
12
JavaScript. This section is dedicated to the JavaScript language itself, and not the
parts that are specific to Web pages or other host environments. For information
about API specifics to Web pages, please see Web APIs and DOM. The standards
for JavaScript are the ECMAScript Language Specification (ECMA-262) and the
ECMAScript Internationalization API specification (ECMA-402). The JavaScript
documentation throughout MDN is based on the latest draft versions of ECMA-262
and ECMA-402. And in cases where some proposals for new ECMAScript features
have already been implemented in browsers, documentation and examples in MDN
articles may use some of those new features.
3.2.1.4 React JS :
13
consists of many elements like input fields, labels, or buttons. We can write each
element of the form as React components, and then we combine it into a higher-
level component, i.e., the form component itself. The form components would
specify the structure of the form along with elements inside of it.
3.2.1.5 Material UI :
3.2.1.6 Webpack :
14
builds a dependency graph which maps out the modules that your project needs and
generates one or more bundles. A bundle is a distinct grouping of connected code
that has been compiled and transformed for the browser. If one file depends on
another (it uses the code from a separate file). Webpack also takes your non-code
assets (img, fonts, styles, etc.) and converts them to dependencies for your
application.
3.2.2 BACKEND :
3.2.2.1 Node JS :
Node.js has a unique advantage because millions of frontend developers that write
JavaScript for the browser are now able to write the server-side code in addition to
the client-side code without the need to learn a completely different language. In
Node.js the new ECMAScript standards can be used without problems, as you don't
have to wait for all your users to update their browsers - you are in charge of
15
deciding which ECMAScript version to use by changing the Node.js version, and you
can also enable specific experimental features by running Node.js with flags.
3.2.2.2 NPM :
Another important use for npm is dependency management. When you have a node
project with a package.json file, you can run npm install from the project root and
npm will install all the dependencies listed in the package.json. This makes installing
a Node.js project from a git repo much easier!
3.2.2.3 Express JS :
16
web applications and API without any effort. Express.js is a framework of Node.js
which means that most of the code is already written for programmers to work with.
You can build a single page, multi-page, or hybrid web applications using Express.js.
Express.js is lightweight and helps to organize web applications on the server-side
into a more organized MVC architecture.
3.2.3 DATABASE :
3.2.3.1 MongoDB :
3.2.3.1 Firebase :
17
synchronizing data, often between user machines or smartphones and centralized
storage in the cloud. It‘s designed to make life easier for developers by handling
much of the pushing and pulling of data. That relieves app developers of the
programming burdens associated with managing versions or locations. They can
write the new bits to Firebase and the data will be consistent throughout the system.
Firebase is valued largely because it can constantly propagate and synchronize
changes between local copies of information stored on users‘ machines with
versions kept in the cloud.
3.2.4 SECURITY :
3.2.5.1 Postman :
18
headers and cookies the API expects, and checks the response. Productivity can be
increased using some of the Postman features, which are listed below. A test in
Postman is fundamentally a JavaScript code, which runs after a request is sent and
a response has been received from the server.
3.2.5.2 JEST :
3.2.6.1 Heroku :
Heroku is known for running apps in dynos – which are really just
virtual computers that can be powered up or down based on how big your
application is. Think of dynos as malleable building blocks for running your app.If
you want to process more data or run more complex tasks, you are going to need to
add more blocks(what is called scaling horizontally) or increase the size of the
blocks (what is called scaling vertically). Heroku then charges you a monthly fee
19
based on the number of dynos that you have and the size of each dyno. Although
Heroku charges you by the dyno, they aren‘t actually hosting your app. In fact, the
entire Heroku platform, as well as every app built on Heroku is deployed to Amazon
Web Services(AWS).
3.2.7 CONTAINERIZATION:
3.2.7.1 Docker:
Developers can create containers without Docker, but the platform makes it easier,
simpler, and safer to build, deploy and manage containers. Docker is essentially a
toolkit that enables developers to build, deploy, run, update, and stop containers
using simple commands and work-saving automation through a single API. Docker
also refers to Docker, Inc. (link resides outside IBM), the company that sells the
commercial version of Docker, and to the Docker open source project (link resides
outside IBM), to which Docker, Inc. and many other organizations and individuals
contribute.
20
permissions to modify or add any type of data.There are several endpoints to make
every action.
In the front end There are Login/Logout, Signup pages.Form data will be validated
by the front-end before being sent to the back-end.This reduces the useless
requests to the backend. Depending on User‘s roles (admin, moderator, user),
Navigation Bar changes its items automatically.When the request is passed to
backend , backend contacts server and the node.js server validates the username
and password. As this is one time authentication , a jwt token is generated and
passed back to front which is used for further authentication purposes. This
technique reduces the load on database and server as jwt carries auth details for the
user every time.
JWT token is being stored in local storage of the browser and used on every api call.
If the credentials are rejected by the server , front-end handles the issue by showing
21
an error pop-up the user by appropriate error message that is passed the back-
end.Once the user is logged in, each subsequent request will include the JWT,
allowing the user to access routes, services, and resources that are permitted with
that token. Single Sign On is a feature that widely uses JWT nowadays, because of
its small overhead and its ability to be easily used across different domains.
22
front end keeps checking the ban endpoint to make sure the user has access to the
token.
Search uses.Indexes are special data structures that store a small portion of the
collection's data set in an easy to traverse form. The index stores the value of a
specific field or set of fields, ordered by the value of the field. The ordering of the
index entries supports efficient equality matches and range-based query operations.
In addition, MongoDB can return sorted results by using the ordering in the index.
The returned items are then rendered on the front end to show the users that relate
to the search parameters.
23
CHAPTER 4
RESULT DISCUSSION
4.1 : RESULT :
Alumni can use their own personal computers devices to add, monitor and
update their current status. In view of the above, the developers would like to
recommend that additional verification procedures be made to ensure that Only
bonafide alumni can register in the system. Main innovations encompass the
inclusion not only of the alumni, but also the current students to the alumni portal,
therefore, the link with the university is strengthened from the beginning with a
tendency to bolster the bond between the students (current and alumni) and the
educational institution.
24
4.2 OUTPUT EXPLANATION:
25
after it checks the given password against that username. Above process will
avoid vulnerabilities, third party access and mal-users. This will act as a first line
of defense with a gateway which allows authorized users and admins to access
the Alumni Portal web application.
A landing page is the first page of a website. When you visit a web
URL that merely contains a domain name, this is the default page that loads. The
root directory of a website houses the home page. The home page on most web
servers can have a variety of filenames. Although there is no set structure for a
home page, most feature a navigation bar with links to other areas of the website. A
search bar, information about the website, and current news or changes are all
frequent characteristics seen on a home page. Some websites include material that
26
is updated on a daily basis. It is the page that visitors find themselves in when they
load a URL. Web managers can control the home page as a way of directing the
user experience.
27
➢ Mentoring students will help them improve themselves and make them
acquire industry expected knowledge.
➢ Workshops act as a great platform to learn anything and provide them to
demonstrate the things that they learn.
➢ Testimonials showcase value and things gained by the graduates when they
were pursuing in the institute.
Events and competition opportunities are great for students who want
to show their abilities and talents. Competitions play an important role in pushing
students to succeed and excel by providing much more than simply the winning
prize. Competitions provide players with the opportunity to obtain valuable
experience, demonstrate abilities, assess and evaluate outcomes, and discover
personal potential. Competitions also motivate pupils to try new things and improve
their ideas and talents. The lesson to be learned is that when we‘re struggling to go
on, we can look back at our past achievements and how good it felt to get there.
28
Competition allows us to use our previous triumphs as an added boost to keep
pushing forward during difficult times in everything we choose to pursue.
29
of website functioning and appearance, and most of us would find it strange to use a
website without one. A search bar is a no-brainer when developing a website, but
genuinely useful site search is much more than that.
30
User profiles have information for most attributes like system needs, general data,
restrictions and application settings.
It can help in specifying the terms for certain features in the system such as profile
visibility, layout view, color themes, preferred languages, date format and message
display format. User profiles can be created, modified and deleted. Most user
profiles have a user description like account details, user details and password-
related information. In most circumstances, the user profile aids in providing users
with additional security. Users can build authentication measures using various
characteristics in their user profile, such as a secret question or password. With
most apps, a user profile can also aid in password recovery or the establishment of
a new password for users.
31
Admin Pages display in the administration area. Appropriate menus
and other styling appear is necessary for the content. The admin panel contains your
build and can be found on your App Dashboard. It exists in order to give you control
over your app once it's built.
It was started by creating the backend data models, admin, as well as APIs, then
adding them to the admin panel. The server side will serve as the main first
deliverable and makes for good pages. You can build the entire backend in just an
hour or two if you have already planned the app out: you‘re just clicking on a data
entry.
4.2.8 Testimonials :
32
A testimonial is a third party statement that comments on how good
someone or something is. By strategically placing website testimonials on a
dedicated ‗Testimonials‘ page, as well as on your ‗About Us‘ page, product pages,
and more, you can convince interested users that you‘re worth their trust. In fact,
reaffirming your product‘s worth is one of the key techniques in the psychology of
selling.
33
From here only admin can control the event display and event deletion
from the admin dashboard which will make sure those events are current and
errorless. This made an admin work easier by having an eye on event sequence
data. A benefit of having everything in a single place is that all your information is
positioned in a specific order, making it easier for your audience to navigate your
website and get all the information they can get when they interact with your brand.
It‘s easy to scroll through and doesn‘t take much time to find what you‘re looking for.
34
From here only admin can control the testimonial display and
testimonial deletion from the admin dashboard which will make sure those
testimonials are errorless. This made an admin work easier by having an eye on
testimonials sequence data.
In this page an admin can see the Alumni activities and involvements
in the form of engagement in the event, planning and so on. This page shows
35
different types of alumni activities and their details over here which brings a new
feature called single page rendering. Admin can verify the details whether it is a
genuine form application or a spam form application so that admin can ban that user
which makes sure the geniality.
36
CHAPTER 5
5.1 CONCLUSION :
School can be expensive and we all know it‘s hard work. People may not
realize it, but education is so much more than just the qualifications you receive
at the end. It‘s about the lessons you learn, the people you meet, and the
relationships you build. So why would you expect to leave all of that behind after
graduation? Alumni networks provide long-term value to an educational
institution by giving alumni the chance to stay in contact and continue to learn
from each other long after they have left school. Support networks are hard to
come by out there in the world and having a ready-made one full of people with
shared experiences just waiting to connect is a luxury that few can afford to turn
down. When you can, join your school‘s alumni network.
Due to the need to connect all alumni (students who have already passed) to the
organization, it was possible to share their perspectives, experiences,
orientations, ideas, strategies and motivations. The focus of the alumni portal app
is on the interaction between graduates and current students at the university. In
this way, students or alumni can get to know each other and their current
activities. This portal focuses on the interaction/communication feature that
allows the current students to interact with the alumni of the university or
organization to get various updates on current industry trends, internship
opportunities, project sponsorships and multiple references opening up in the
company World. Therefore, in this project, we developed a dynamic alumni portal
design that enables two-way interaction between all students and all students.
37
5.2 FUTURE WORK :
The proposed work in the Alumni Portal will make the Alumni data available in
an organized web application which will help current students and college staff
members to know instantly about them. However there are some other further
plans like including current students as future alumni in this portal, engagement
point system, referral system for current students to get their internship/job which
makes effort much more easier.
38
REFERENCES
[4] X.D Lei, Role of Alumni Resources in the Development of Colleges and
Universities. Journal of Fujian Institute of Education, 11(2010)24-26.
[5] N Rubens, M Russell and R Perez, J. Huhtamaki, Still, K., Kaplan, D. and
Okamoto, T. Alumni network analysis. Global Engineering Education
Conference, (2011) 606-611.
[7] G.O Moden, W.A. Michael, Applying alumni research to decision making. New
Directions for Institutional Research, 1988(2010)67-76.
[8] H Chi, E.L Jones and L.P Grandham, Enhancing mentoring between alumni
and students via smart alumni system. procedia computer science, 9(2012)1390-
1399.
39
[9] S Hall, Educational ties, social capital and the translocal (re)production of
MBA alumni networks. Global-Networks, 11-(2011)118-138.
[10] Kowalik, E. Engaging alumni and prospective students through social media.
Cutting-Edge Technologies in Higher Education, 2(2011)211-227.
40
APPENDICES
41
B) PLAGIARISM REPORT :
42
C) SAMPLE CODE :
43
useEffect(() => {
async function fetchData() {
const request = await getController("/user/isUserBanned", {
id: localStorage.getItem("id"),
});
console.log(request.data);
if (request.data === true) {
if (request.data != localStorage.getItem("ban")) localStorage.clear();
setToken("");
}
}
fetchData();
}, []);
return (
<div className={classes.body}>
{/* Carousel */}
<div className="w-full ">
<FullCarousel>
{imageLinks.map((link) => {
return (
<img className="object-fill h-96" src={link} alt="" srcset="" />
);
})}
{/* <CarouselItem>Item 1</CarouselItem>
<CarouselItem>Item 2</CarouselItem>
<CarouselItem>Item 3</CarouselItem>
<CarouselItem>Item 4</CarouselItem>
<CarouselItem>Item 5</CarouselItem>
<CarouselItem>Item 6</CarouselItem>
<CarouselItem>Item 7</CarouselItem>
<CarouselItem>Item 8</CarouselItem> */}
44
</FullCarousel>
</div>
{/* <div className={classes.sliders}>
<Sliders></Sliders>
</div> */}
<Divider />
{/* Engage with your college */}
<h1 className={classes.h2}>Engage with your college</h1>
<div className={classes.cards}>
<HomeTile
iconName={`fas fa-map-marker-alt fa-7x`}
title="Organize"
darkColor="rgb(189,76,27)"
lightColor="rgb(240,145,61)"
desc="Organize an event in you college"
navigateTo="/organize"
></HomeTile>
<HomeTile
iconName={`fas fa-rupee-sign fa-7x`}
title="Donate"
darkColor="#090979"
lightColor="rgb(168,209,223)"
desc="Donate anything"
navigateTo="/donate"
></HomeTile>
<HomeTile
iconName={`fas fa-pencil-ruler fa-7x`}
title="Plan"
darkColor="rgb(42,105,94)"
lightColor="rgb(140,231,140)"
desc="Have an idea ? Lets Plan it together"
45
navigateTo="/plan"
></HomeTile>
<HomeTile
iconName={`fas fa-user-graduate fa-7x`}
title="Mentor"
darkColor="rgb(229,89,52)"
lightColor="rgb(243,111,114)"
desc="Guide your juniors for a better career"
navigateTo="/mentor"
></HomeTile>
<HomeTile
iconName={`fas fa-hammer fa-7x`}
title="Workshop"
darkColor="rgb(43,28,47)"
lightColor="rgb(79,134,169)"
desc="Conduct a workshop in college"
navigateTo="/workshop"
></HomeTile>
<HomeTile
iconName={`fas fa-heart fa-7x`}
title="Testimonial"
darkColor="red"
lightColor="rgb(243,111,114)"
desc="Write a review for your college"
navigateTo="/testimonial"
></HomeTile>
</div>
<EventSlider />
<SearchWidget></SearchWidget>
<Testimonials />
<div className="font-bold">v0.0.1</div>
46
</div>
);
}
47