Report

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 56

A

Project Report

On

CAREERIFY - WEB APPLICATION

Submitted in partial fulfillment for the award of degree of

Bachelor of Technology

in

Computer Science & Engineering

Submitted By Project Guide


Nupur Sogani Priyanka Mitra
18EJCCS117 Assistant Professor

Department of Computer Science & Engineering


Jaipur Engineering College & Research Centre
Jaipur, Rajasthan
2021-22
CANDIDATE’S DECLARATION

I, hereby declare that the work presented in this project entitled “Careerify - Web
Application” in the partial fulfillment of the requirements for the award of the Degree of
Bachelor of Technology in Computer Science & Engineering at Jaipur Engineering
College and Research Centre, Jaipur is an authentic work of my own.

I have not submitted the matter embodied in this project work anywhere for the award of
degree of Bachelor of Technology in Computer Science & Engineering.

Student Name:- Nupur Sogani


Univ. Roll No.:- 18EJCCS117
Date : 1 June 2022
Place: Jaipur

i
BONAFIDE CERTIFICATE

This is to certify that the project entitled "Careerify - Web Application" is the bonafide
work carried out by student of B.Tech. in Computer Science & Engineering at Jaipur
Engineering College and Research Centre, during the year 2021-22 in partial fulfillment
of the requirements for the award of the Degree of Bachelor of Technology in Computer
Science & Engineering and the project has not formed the basis for the award previously
of any degree, diploma, fellowship or any other similar title.

Name of Guide: Ms. Priyanka Mitra

Designation: Assistant Professor

Place: Jaipur

Date: 1 June 2022

ii
VISION OF CSE DEPARTMENT

To become a renowned Centre of excellence in computer science and engineering and make
competent engineers & professionals with high ethical values prepared for lifelong learning.

MISSION OF CSE DEPARTMENT

1. To impart outcome based education for emerging technologies in the field of computer
science and engineering.
2. To provide opportunities for interaction between academia and industry.
3. To provide a platform for lifelong learning by accepting the change in technologies.
4. To develop the aptitude of fulfilling social responsibilities.

iii
PROGRAM OUTCOMES (POs)
1. Engineering knowledge: Apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization to the solution of complex engineering
problems.
2. Problem analysis: Identify, formulate, research literature, and analyze complex engineering
problems reaching substantiated conclusions using first principles of mathematics, natural
sciences, and engineering sciences.
3. Design/development of solutions: Design solutions for complex engineering problems and
design system components or processes that meet the specified needs with appropriate
consideration for the public health and safety, and the cultural, societal, and environmental
considerations.
4. Conduct investigations of complex problems: Use research-based knowledge and research
methods including design of experiments, analysis and interpretation of data, and synthesis
of the information to provide valid conclusions.
5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and
modern engineering and IT tools including prediction and modeling to complex engineering
activities with an understanding of the limitations.
6. The engineer and society: Apply reasoning informed by the contextual knowledge to
assess societal, health, safety, legal and cultural issues and the consequent responsibilities
relevant to the professional engineering practice.
7. Environment and sustainability: Understand the impact of the professional engineering
solutions in societal and environmental contexts, and demonstrate the knowledge of, and
need for sustainable development.
8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and
norms of the engineering practice.
9. Individual and team work: Function effectively as an individual, and as a member or
leader in diverse teams, and in multidisciplinary settings.
10. Communication: Communicate effectively on complex engineering activities with the
engineering community and with society at large, such as, being able to comprehend and
write effective reports and design documentation, make effective presentations, and give and
receive clear instructions.
11. Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member
and leader in a team, to manage projects and in multidisciplinary environments.
12. Life-long learning: Recognize the need for, and have the preparation and ability to engage
in independent and life-long learning in the broadest context of technological change

iv
PROGRAM EDUCATIONAL OBJECTIVES (PEOs)

The PEOs of the B.Tech (CSE) program are:

PEO1:  To provide students with the fundamentals of Engineering Sciences with more emphasis
in computer science and engineering by way of analyzing and exploiting engineering challenges.

PEO2: To train students with good scientific and engineering knowledge so as to comprehend,
analyze, design, and create novel products and solutions for the real life problems.

PEO3: To inculcate professional and ethical attitude, effective communication skills, teamwork
skills, multidisciplinary approach, entrepreneurial thinking and an ability to relate engineering
issues with social issues.

PEO4: To provide students with an academic environment aware of excellence, leadership, written
ethical codes and guidelines, and the self-motivated life-long learning needed for a successful
professional career.

PEO5: To prepare students to excel in Industry and Higher education by educating Students along
with High moral values and Knowledge.

PROGRAM SPECIFIC OUTCOMES (PSOs)

PSO1: Ability to interpret and analyze network specific and cyber security issues, automation in
real word environment.
PSO2: Ability to Design and Develop Mobile and Web-based applications under realistic
constraints.

v
COURSE OUTCOMES (COs)
On completion of project Graduates will be able to-
● CO1: Gather, organize, summarize and interpret technical literature with the purpose of
formulating a project proposal.
● CO2: Design/Develop the solution using latest technologies and communicate via modern
tools.
● CO3 Understand and develop the professional, social ethics, and team management
principles.

MAPPING: CO’s & PO’s


Subject Code L CO P P P P P P P P P P P P
/ O O O O O O O O O O O O
T 1 2 3 4 5 6 7 8 9 1 1 1
/ 0 1 2
P

    Graduates will be able to:


gather, organize, summarize
    and interpret technical
literature with the purpose of 3 3 3 2 2 2 1 2 1 2 2 3
    P formulating a project
proposal.
 
Graduates will be able to:
 
Design/Develop the solution
using latest technologies and
Project 8CS7-50
P communicate via modern 3 3 3 2 2 2 1 2 2 2 2 3
tools.

Graduates will be able to:


Understand and develop the
professional, social ethics, and 3 3 3 2 2 2 1 2 2 2 2 3
P
team management principles. 

vi
ACKNOWLEDGEMENT

I wish to express our deep sense of gratitude to our Project Guide Ms. Priyanka Mitra, Jaipur
Engineering College and Research Centre, Jaipur for guiding us from the inception till the
completion of the project. We sincerely acknowledge him for giving his valuable guidance, support
for literature survey, critical reviews and comments for our Project.

I would like to first of all express our thanks to Mr. Arpit Agrawal, Director of JECRC, for
providing us such a great infrastructure and environment for our overall development.

I express sincere thanks to Dr. V. K. Chandna, Principal of JECRC, for his kind cooperation and
extendible support towards the completion of our project.

Words are inadequate in offering our thanks to Dr. Sanjay Gaur, HOD of CSE department, for
consistent encouragement and support for shaping our project in the presentable form.

I also like to express our thanks to all supporting CSE faculty members who have been a constant
source of encouragement for successful completion of the project.

Also our warm thanks to Jaipur Engineering College and Research Centre, who provided us this
opportunity to carryout, this prestigious Project and enhance our learning in various technical fields.

Nupur Sogani

18EJCCS117

vii
ABSTRACT

Finding a career and a job in this day and age where there are tons of options could be nerve
racking and hard to know what fits you the best, how to get into a career and how it actually works
and are there any jobs in that.

In this Carrerify-Website project we provide a solution of that with details of many career option
with there briefing and how to get started in them from all the universities, degrees and other skills
to focus so that a student can easily see how he can progress in this career from fields like it
specialist, Chartered account to many niche fields like a fashion designer and yoga instructor that is
all covered with a key benefit that is a place where you can find all the job listing for that role so
you not only see what you need to do but also help you land a proper career in this field.

There is a good database for jobs and its other criteria so a person can easily apply and a proper
authentication system where they can have their own unique credential with a great interface to
navigate and also to understand what they need to do very easily.

viii
LIST OF FIGURES

Figure No. Figure Page No.

1.1 Careerify logo 1

3.1 MERN Stack structure 7

3.2 MongoDB 8

3.3 ExpressJS 9

3.4 ReactJS 10

3.5 NodeJS 11

3.6 Heroku 12

3.7 Heroku architecture 13

3.8 PostMan 13

4.1 Use Case Diagram 15

4.2 Database design 16

4.3 ER Diagram 18

4.4 Components of Deployment diagram 18

4.5 Deployment diagram 19

5.1 Home Page 20

5.2 Career Page 21

5.3 Jobs Page 22

5.4 Login Page 23

5.5 Register Page 24

ix
5.6 Navigation Bar Code 25

5.7 Jobs Code 26

5.8 Career Page code 27

5.9 Login code 28

5.10 Register code 29

5.11 Footer code 30

6.1 Authentication API code 31

6.2 Career API 32

6.3 Jobs API code 33

x
LIST OF TABLES

Table No. Table Page No.

2.1 Hardware Requirements 4

4.3.1 E-R Diagram components 16

xi
TABLE OF CONTENTS

Candidates Declaration-------------------------------------------------------------------------- i
Bonafide Certificate------------------------------------------------------------------------------ ii
Vision and Mission------------------------------------------------------------------------------- iii
Program Outcomes (POs)----------------------------------------------------------------------- iv
Program Education Objectives (PEOs) ------------------------------------------------------ v
Program Specific Outcomes (PSOs)----------------------------------------------------------- v
Course Outcomes (COs)------------------------------------------------------------------------- vi
Mapping: COs and POs-------------------------------------------------------------------------- vi
Acknowledgement--------------------------------------------------------------------------------- vii
Abstract---------------------------------------------------------------------------------------------- viii
List of Figures--------------------------------------------------------------------------------------- ix
List of Tables---------------------------------------------------------------------------------------- xi
1. INTRODUCTION------------------------------------------------------------------------------ 1
1.1 Purpose---------------------------------------------------------------------------------------- 1
1.2 Introduction to Project----------------------------------------------------------------------- 1
1.3 Problem in Existing System----------------------------------------------------------------- 2
1.4 Solution to these Problems—----------------------------------------------------------------2
1.5 Scope of Project—----------------------------------------------------------------------------3
1.6 Document Convention—---------------------------------------------------------------------3

2. REQUIREMENT ANALYSIS--------------------------------------------------------------- 4
2.1 Hardware Requirement--------------------------------------------------------------------- 4
2.2 Software Requirement ---------------------------------------------------------------------- 5
2.3 Functional Requirements—----------------------------------------------------------------- 5
2.4 Non Functional Requirements ------------------------------------------------------------ 6
2.5 Users Classes And Characteristics—----------------------------------------------------- 6

xii
3. TOOLS & TECHNOLOGY---------------------------------------------------------------------7
3.1 Mern Stack------------------------------------------------------------------------------------ 7
3.2 Heroku -----------------------------------------------------------------------------------------12
3.3 Postman ----------------------------------------------------------------------------------------13

4. SYSTEM DESIGN---------------------------------------------------------------------------------15
4.1 Use Case Diagram-----------------------------------------------------------------------------15
4.2 Database Design and Databases-------------------------------------------------------------16
4.3 ER Diagram—-------------------------------------------------------------------------------- 17
4.4 Deployment Diagram ------------------------------------------------------------------------18

5. SCREENSHOT--------------------------------------------------------------------------------------20
5.1 Home Page-------------------------------------------------------------------------------------20
5.2 Career Page -----------------------------------------------------------------------------------21
5.3 Jobs Page---------------------------------------------------------------------------------------22
5.4 Login Page -------------------------------------------------------------------------------------23
5.5 Register Page —-------------------------------------------------------------------------------24
5.6 Navigation Bar Code -------------------------------------------------------------------------25
5.7 Jobs Code -------------------------------------------------------------------------------------26
5.8 Career Page Code------------------------------------------------------------------------------27
5.9 Login Code ------------------------------------------------------------------------------------28
5.10 Register Code—------------------------------------------------------------------------------29
5.11 Footer Code—----------------------------------------------------------------------------------30

6. API —-----------------------------------------------------------------------------------------------31
6.1 Authentication API --------------------------------------------------------------------------31

xiii
6.2 Career API ------------------------------------------------------------------------------------32
6.3 Jobs API---------------------------------------------------------------------------------------33

7. TESTING—----------------------------------------------------------------------------------------34
7.1 Unit Testing -----------------------------------------------------------------------------------34
7.2 API Testing------------------------------------------------------------------------------------34

8. LIMITATIONS OF PROJECT----------------------------------------------------------------35

9. FUTURE SCOPE OF PROJECT-------------------------------------------------------------36

10. REFERENCES----------------------------------------------------------------------------------37

APPENDIX—----------------------------------------------------------------------------------------38

xiv
1. INTRODUCTION
1.1 Purpose

In today's world the population is increasing day by day and the youth population is one of the
highest in the country which is great for a country like India. This generates the demand for jobs in
India and youth go on to try many different jobs in different fields. This time there is a high
unemployment rate in the country and youth unemployment is the most significant concern for the
time being.

The objective of this project is to develop a web application career field and option that can provide
information about all the career opportunities presented to them and job opportunities related to
them on a single platform. This system takes advantage of Reactjs which is a one-page application
and faster in loading. We have to look for different websites for different careers but this is done
in-place which saves time and provides a better user experience.

1.2 Introduction to Project

Fig. 1.1 Careerify Logo

The Web application can be opened on any browser and it can be opened on the phone which makes
it a multi-platform. Additionally, the application would help users to find out the different fields and
if they are already in a field they can look for jobs related to that field based on various filters like
location, skills, etc. To apply for a job in the application user has to sign-up and then log in then
only users can apply for jobs. Users can look for career information without logging into the
application which makes the user stay for a longer time than usual.

1
The application provides a list of careers on the career page then users click on any information
they want to read about and information about that will be opened. Now users want to look out for
job-related jobs which can go to the job page and the user can apply for the job on the job page.
This makes it easy to use and there is no load on the application if thousands of users are accessing
at one time. And the user who wants to add jobs can add jobs after login and jobs will be listed on
the job page.

1.3 Problems in Existing system

● Problem in finding the new field.


● Fake Jobs can be added by the user.
● Updating new information about the career.
● Look for different websites for every career.
● Risk of mismanagement.
● It's hard for users to just look for different options and lack information.

1.4 Solution to these Problems

The development of a new system that contains the following activities, which try to in-place for
every career and provide job opportunities for the career on the single application by keeping the
database related to all information and updating the information easily.

● The application is user-friendly, can be accessed on any device and is easier to


manage by the administrator.
● This application manages the different API if any one API stops working while
another API will work for the application.
● The data security and user information is secured using hashing the password and
other user information.
● Application contains all the field data in one place. Users don't have to look for the
different websites for information about any career which saves a lot of time.

2
● Risk of mismanagement is reduced because of using different API and data security
is increased.
● Adding jobs by the company and if any user requires any employer can add the
information easily on the platform.

1.5 Scope of the project

● There are two basic users - Admin and User.


● All users have their own profiles.
● Maintain data associated with the Career field and all the jobs related to the career like info,
company name and skills.
● Maintain records for many users. A user can add jobs and can remove anything related to it.
Only an admin can delete all the jobs and update the information regarding careers. The job
can be removed by users if they add them and it can be removed by the admin if he wants.
● Allow as much as career field info you can see and apply as many jobs users want to apply
for without restriction.

1.6 Document Convention

● All text contained in this document is typed in the Font style 'Times New Roman' and Font
size 12.
● Section titles are typed in the Font style 'Times New Roman' and Font size 14 and bold.
● Sub headings are typed in the Font style 'Times New Roman' and Font size 12 and bold.
● All sections and subsections are numbered using the X.X.X… format, where X represents
numbers.
● Document text is single-spaced.
● One and a half paragraph spacing is used for writing general text.

3
2. Requirement Analysis

2.1 Hardware Requirement

Windows Mac requirements Linux requirements


requirements

Operating system Windows 8 or later macOS Sierra 10.12 or 64-bit


later Ubuntu 14.04+,
Debian 8+,
openSUSE 13.3+, or
Fedora Linux 24+

Processor Intel Pentium 4 or Intel Intel Pentium 4 or


later later

Memory 2 GB minimum, 4 GB recommended

Screen resolution 1280x1024 or larger

Application window 1024x680 or larger


size

Internet connection Required

Table 2.1 Hardware Requirements

4
2.2 Software Requirement

● Browser: It is required to run the web application browser is the only way a web browser
can read an HTML file and show it. Eg. Chrome, Edge , Opera, etc.
● Development Tools: It is used to develop code, and the work environment is generated in
this, and code implementation and running can be done through this.
● Database: Database is the one that stores all the data of the application in secure and is easy
to access and work with. Eg. MongoDB Atlas.
● Deployment Tools: For a web application to run on a web browser it has to be deployed first
for which we have to get the domain name and server to run the application. For this we can
use many servers. Eg. Netlify, Heroku.
● Framework: A framework is a structure that you can build software on. It serves as a
foundation, so you're not starting entirely from scratch. Frameworks are typically associated
with a specific programming language and are suited to different types of tasks.

2.3 Functional Requirements

System functional requirements describe activities and services that must be performed. Taking and
updating different career options at regular intervals of time.

● Users must be able to access the career information.


● Users must be able to log in, register, and log out.
● Users must be able to apply for a job and seek it.
● The administrator or the person who will be given access to the system administrator must
log in to the system before using it.
● The information must be entered and managed properly.
● All jobs must be authenticated properly.
● All the career data should be updated regularly and relevant information must be provided
using a newsletter.
● Web applications must load faster and run smoothly for the user so that it can be accessed
properly.

5
2.4 Non-Functional Requirements

End-users must be the main concern of the system design in order to produce a valid, useful and
user-satisfying system. This section examines and analyzes the requirements and needs of the
possible different system end-users.

● The data will be shown to the user and will be made sure that is correct and is available for
the time being.
● The system will be flexible enough to make changes.
● The system will be extensible for changes and to the latest technologies.
● Efficiency and effectiveness of the system will be evaluated.
● The performance of the system will be made sure.

2.5 User Classes And Characteristics

A user class is a set of developer-defined attributes (characteristics) and methods (behaviors) that
we can use to refer to multiple data items as a single entity. User classes are classes that we create in
the visual development environment as part of an application.

General User - This class is used to store information about the users of the application which can
be students or job seekers. They must register to the portal for using job functionality. Such users
can usually be used to log in using a password and can be used for running programs on the
computer.

Admin - Admin is a user with additional permissions. Admin can add, edit and delete jobs or career
options.

6
3. Tools and Technology

3.1 Mern Stack:-

MERN stands for MongoDB, Express, React, Node, after the four key technologies that make up
the stack.

● MongoDB - document database


● Express(.js) - Node.js web framework
● React(.js) - a client-side JavaScript framework
● Node(.js) - the premier JavaScript web server

Fig. 3.1 Mern Stack Structure

7
3.1.1 MongoDB

Fig. 3.2 MongoDB

MongoDB is a source-available cross-platform document-oriented database program. Classified as


a NoSQL database program, MongoDB uses JSON-like documents with optional schemas.

SQL databases store data in tabular format. This data is stored in a predefined data model which is
not very much flexible for today’s real-world highly growing applications. Modern applications are
more networked, social and interactive than ever. Applications are storing more and more data and
are accessing it at higher rates.

Features of MongoDB:
● Document Oriented: MongoDB stores the main subject in the minimal number of
documents and not by breaking it up into multiple relational structures like RDBMS. For
example, it stores all the information of a computer in a single document called
Computer and not in distinct relational structures like CPU, RAM, Hard disk, etc.
● Indexing: Without indexing, a database would have to scan every document of a
collection to select those that match the query which would be inefficient. So, for
efficient searching Indexing is a must and MongoDB uses it to process huge volumes of
data in very less time.
● Scalability: MongoDB scales horizontally using sharding (partitioning data across
various servers). Data is partitioned into data chunks using the shard key, and these data
chunks are evenly distributed across shards that reside across many physical servers.
Also, new machines can be added to a running database.

8
● Replication and High Availability: MongoDB increases the data availability with
multiple copies of data on different servers. By providing redundancy, it protects the
database from hardware failures. If one server goes down, the data can be retrieved
easily from other active servers which also had the data stored on them.
● Aggregation: Aggregation operations process data records and return the computed
results. It is similar to the GROUPBY clause in SQL. A few aggregation expressions are
sum, avg, min, max, etc

3.1.2 Express Js

Fig. 3.3 Express Js

Express.js is a small framework that works on top of Node.js web server functionality to simplify
its APIs and add helpful new features. It makes it easier to organize your application’s functionality
with middleware and routing. It adds helpful utilities to Node.js HTTP objects and facilitates the
rendering of dynamic HTTP objects.

Features of Express Js

● Ultra fast I/O

● Asynchronous and single threaded

● MVC like structure

● Robust API makes routing easy

9
● It can be used to design single-page, multi-page and hybrid web applications.

● It allows setting up middlewares to respond to HTTP Requests.

● It defines a routing table which is used to perform different actions based on HTTP method
and URL.

● It dynamically renders HTML Pages based on passing arguments to templates.

3.1.3 React Js

Fig. 3.4 ReactJs

React is a declarative, efficient, and flexible JavaScript library for building user interfaces. It’s ‘V’
in MVC. ReactJS is an open-source, component-based front-end library responsible only for the
view layer of the application.

Features of React.js:

There are unique features available on React because it is widely popular.

● Use JSX: It is faster than normal JavaScript as it performs optimizations while


translating to regular JavaScript. It makes it easier for us to create templates.
● Virtual DOM: Virtual DOM exists which is like a lightweight copy of the actual DOM.
So for every object that exists in the original DOM, there is an object for that in React
Virtual DOM. It is exactly the same, but it does not have the power to directly change
the layout of the document. Manipulating DOM is slow, but manipulating Virtual
DOM is fast as nothing gets drawn on the screen.

10
● Component: A Component is one of the core building blocks of React. In other words,
we can say that every application you will develop in React will be made up of pieces
called components. Components make the task of building UIs much easier. You can
see a UI broken down into multiple individual pieces called components and work on
them independently and merge them all in a parent component which will be your final
UI.
● Performance: React.js use JSX, which is faster compared to normal JavaScript and
HTML. Virtual DOM is a less time taking procedure to update webpages content.

3.1.4 Node Js:

Fig. 3.5 NodeJs

Node.js is an open-source and cross-platform runtime environment built on Chrome’s V8


JavaScript engine for executing JavaScript code outside of a browser. You need to recollect that
NodeJS isn’t a framework, and it’s not a programming language. It provides an event-driven,
non-blocking (asynchronous) I/O and cross-platform runtime environment for building highly
scalable server-side applications using JavaScript.

Features of NodeJS:
There are other programming languages also which we can use to build back-end services so what
makes Node.js different I am going to explain.

● It’s easy to get started and can be used for prototyping and agile development
● It provides fast and highly scalable services

11
● It uses JavaScript everywhere, so it’s easy for a JavaScript programmer to build
back-end services using Node.js
● Source code cleaner and consistent.
● Large ecosystem for open source libraries.

3.2 Heroku

Fig. 3.6 Heroku

Heroku is a cloud platform as a service (PaaS) supporting several programming languages. One of
the first cloud platforms, Heroku has been in development since June 2007, when it supported only
the Ruby programming language, but now supports Java, Node.js, Scala, Clojure, Python, PHP, and
Go.[3] For this reason, Heroku is said to be a polyglot platform as it has features for a developer to
build, run and scale applications in a similar manner across most languages

Applications that are run on Heroku typically have a unique domain used to route HTTP requests to
the correct application container or dyno. Each of the dynos are spread across a "dyno grid" which
consists of several servers. Heroku's Git server handles application repository pushes from
permitted users.

12
Fig. 3.7 Heroku Architecture

3.3 Postman

Fig. 3.8 PostMan

Postman is an API(application programming interface) development tool which helps to build, test
and modify APIs. Almost any functionality that could be needed by any developer is encapsulated
in this tool.

13
It has the ability to make various types of HTTP requests(GET, POST, PUT, PATCH), saving
environments for later use, converting the API to code for various languages(like JavaScript,
Python).

Features of PostMan

● User Friendly
● Automation is very easy and robust
● Cost Effective
● Easy post,get and other changes in a effective manner
● On-The-Fly Testing
● Useful Scripting and tons of resources
● Easy To create test suites.
● Data Storage for Multiple Tests

14
4. System Design

4.1 Use Case Diagram

Use case diagrams consist of actors, use cases and their relationships. The diagram is used to model
the system/subsystem of an application.

Fig. 4.1 Use Case Diagram

15
4.2 Database design

A database diagram is the very foundation of a database design and development effort. It
represents the basic structure of a database; how information is stored, categorized and managed
within it.

Fig. 4.2 Database Design

16
4.3 ER Diagram

Entity-Relationship Diagram or an ERD contains different symbols and connectors that visualize
two important pieces of information: The major entities within the system scope, and the
inter-relationships among these entities.

They use a defined set of symbols such as rectangles, diamonds, ovals and connecting lines to
depict the interconnectedness of entities, relationships and their attributes.

Table 4.3.1 E-R Diagram components

17
Fig. 4.3 ER Diagram

4.4 Deployment Diagram

A deployment diagram is a UML diagram type that shows the execution architecture of a system,
including nodes such as hardware or software execution environments, and the middleware
connecting them. Deployment diagrams are typically used to visualize the physical hardware and
software of a system.

Fig. 4.4 Components of Deployment diagram

18
Fig. 4.5 Deployment Diagram

19
5. SCREENSHOT

5.1 Home Page

This is the home page as the user goes to the website the front page is shown to the user. You can
see there is a navbar and logout button if already logged in the application and two-button below for
the get started and video link is there. When you scroll down you can see the footer and other
information and a few career photos and cards which hover and give a soothing feeling while
exploring this page.

Fig. 5.1 Home Page

20
5.2 Career Page

This is the website's second page when the user clicks on careers in the navbar, user lands on this
page and the user can see all the careers information list available on it. Users can click on to know
more of the cards and get more information about the careers and how to get started and how to
apply things related to careers.

Fig. 5.2 Career Page

21
5.3 Jobs Page

When the user knows about the careers, the user might have curiosity about knowing what job
opportunities are available for him to apply. Then the user clicks on jobs which are at the top of the
navigation bar and lands on this page and gets information about the jobs he may apply for. Users
can apply only after login. First user has to login then click on the job user want to apply then the
user will be redirected to the job page of the company.

Fig. 5.3 Jobs Page

22
5.4 Login Page

When the user wants to apply for the job or the user wants to add a job to the application, the user
has to come to the login page and log in using his username and password. Then only the user will
be able to do the authentication required in the application.

Fig. 5.4 Login Page

23
5.5 Register Page

This is the register page of the application in which the user has to enter their username, email id,
and password to register. Username and email id should be unique and the password has to be
greater than 8 characters and include special characters such as capital letters, small letters and
numbers.

Fig. 5.5 Register Page

24
5.6 Navigation bar code

This is the navigation bar ReactJs function. This function renders html to App.js page which runs
and the navigation bar is visible to all.

Fig. 5.6 Navigation bar Code

25
5.7 Jobs Code

This is the job function that will display the jobs on the job page, the link for which is present in the
navigation bar.

Fig. 5.7 Jobs Code

26
5.8 Careers Page Code

This will display the cards on the career page and the know more click will redirect to the all the
information page.

Fig. 5.8 Career Page Code

27
5.9 Login Code

This is the code for login. Authentication API is used in the login function. First we get the
username and password from the input and then it is verified using the authentication API.

Fig. 5.9 Login Code

28
5.10 Register Code

This is the code for the registration page. First, we take value from the input username, email id,
and password from the user then it is validated using an API and then it creates the user account.

Fig.5.10 Register Code

29
5.11 Footer Code

Fig. 5.11 Footer Code

30
6. API

6.1 Authentication API

This API works as it will generate a verification token and authenticate the token when the user
tries to login, then the token is set in the cookies till the user logs out and if the user doesn’t log out
in a few days it will automatically expire the token.

Fig. 6.1 Authentication API Code

31
6.2 Career API

This is a career API that displays the data of all the careers on the web application from this API
data is fetched into it and it will be displayed on the career page of the application. This API
performs all the CRUD operations and it is hosted on Heroku application.

Fig. 6.2 CareerAPI Information

32
6.3 Jobs API

Fig. 6.3 Jobs API Code

33
7. TESTING

7.1 Unit Testing

A unit test typically comprises three stages: plan, cases and scripting, and the unit test itself. In the
first step, the unit test is prepared and reviewed. The next step is for the test cases and scripts to be
made, then the code is tested.

Test-driven development requires that developers first write failing unit tests. Then they write code
and refactor the application until the test passes. TDD typically results in an explicit and predictable
code base.

7.2 API Testing

API testing is a software testing type that validates Application Programming Interfaces (APIs).
The purpose of API Testing is to check the functionality, reliability, performance, and security of
the programming interfaces. In API Testing, instead of using standard user inputs(keyboard) and
outputs, you use software to send calls to the API, get output, and note down the system’s response.
API tests are very different from GUI Tests and won’t concentrate on the look and feel of an
application. It mainly concentrates on the business logic layer of the software architecture.

The testing of Authentication API, Jobs API, and CareerAPI is done using the PostMan calls; all the
API endpoint is passed through the PostMan, making all the requests related to it like GET, POST,
PUT and DELETE.

34
8. LIMITATIONS OF PROJECT

● Updating a new career and finding all the career opportunities is one of the biggest
challenges in the project. In the world there are a lot of jobs and opportunities but it's
impossible to gather all the information in one place and all the job opportunities can not
come online.
● Authentication of jobs is a limitation. There is no way to verify if the jobs that come to the
platform are valid or not. There will be thousands of jobs that will be posted online and
verifying every single job manually is not possible.
● Any fake user can apply for the job there is no way to find out if a single user is applying
from different accounts for the same job.
● There is no screening process. Anyone can sign up for a profile and apply for a job, no
matter their credentials. This way a lot of unqualified candidates can apply for the job which
wastes a lot of time of job providers in reviewing.

35
9. FUTURE SCOPE OF PROJECT

● Better integration with the job providers


● Resume help and assistance
● Guide and assistance for career advice that will help the person to not only get the data but
also a proper one to one guide and help.
● This System being web-based, needs to be thoroughly tested to find out any security gaps.
● Career counseling that will get all the data and knowledge of the student that will help in
providing his/her needs to be understood in a better way.
● More career opportunities as when we see the present day the number of options like
youtuber were never there 15 years ago and now a very well known one that makes it better
to add more option over-time.

36
10. REFERENCES

Books and Articles:

[1]. Boyce, A. (2002). Online Job Hunting: A Pew Internet Project Data Memo. Pew Internet
and American Life Project. Published: July 17, 2002.

[2]. Conallen, J. (2003). Building Web Applications with UML. Pearson Education, Inc.

[3]. Maier, M. & Rechtin, E. (2000). The Art of Systems Architecting 2nd Edition. CRC Press.

Websites:

[1]. https://reactjs.org/
[2]. https://nodejs.org/en/
[3].https://www.mongodb.com/
[4]. https://expressjs.com/
[5].https://www.mulesoft.com/resources/api/what-is-an-api

37
APPENDIX

Appendix A: Project Proposal

Project Area:

Our project topic is "Careerify" which is a web application designed aiming to provide
various career options and job opportunities to users.

Objective:

To develop a website which contains all the information regarding every career possible in
a field and provide the right path for perusal of that career and to prepare for the best and
worst scenario that can happen in perusal of that career.

Abstract:

Assemble the complete stack required to build a modern web app using React: Mongodb
and Express, which runs on Node, complement React very nicely. Though the primary
focus of MERN Stack is to equip you with all that is required to build a full-fledged web
application, a large portion of this will be devoted to React. Facebook’s React is a
technology that competes indirectly with Angular JS. It is not a full-fledged MVC
framework. It is a JavaScript library for building user interfaces. Mongodb is a NoSQL
database which has a system of JSON format which is easy to retrieve and change data
faster. The NodeJs is a server-side platform built on Google Chrome’s JavaScript Engine
when combined with Express and work as the server and when React Mongodb Express
and Nodejs combined to work together.

38
Introduction and Background:

In this project, the first user interface design prototype is developed. Design is then
developed on the frontend and all the connections between web pages has to be
made.Actions such as Data about every career is collected that is formatted according to
different fields and different parameters of field and target areas. Whole Database has to
be made where every data has to be put so that retrieval and change can be made on it.

On the other hand Server side has to be set up first Node js and express has to be
integrated then the database Mongodb has to be integrated on the express this will form
the backend of the project .Now the backend and frontend of the project has to be merged
to work together and all the setup of the connection to be made between them.

Tools & Technologies:

MongoDB:- MongoDB is a document database with the scalability and flexibility that
you want with the querying and indexing that you need. MongoDB’s document is simple
for developers to learn and use, while still providing all the capabilities need the most
complex requirements at any scale.

Express:- Express is a minimal and flexible Node.js web application framework that
provides a robust set of features for web and mobile applications. With a myriad of HTTP
utility methods and middleware at your disposal, creating a robust API is quick and easy.

React:- A JavaScript library for building user interfaces. React makes it painless to create
interactive UIs. Design simple views for each state in your applications, and React will
efficiently update and render just the right components when you data changes.

39
Nodejs:- As an asynchronous event-driven JavaScript runtime, Node.js is designed to
build scalable network applications.

Work Plan:

Web development is the work involved in developing a website for the internet. It refers to
the main non-design aspects of building Web sites: writing markup and coding. We have
implemented this in the project using MERN technology.

First the frontend part that is the user interface is designed and created using React
JavaScript library. After that the backend is developed which enables the communication
between database and the browser. Merging them together results in our working website.

Future Scope:

The main use of Careerify is to facilitate the student and parents to see many different
emerging fields in a more open and free way so they can see the future trends and also the
future scope of their career and how to pursue their career and also see many different sub
generous in these fields that are mostly remain untapped by most in an easy and simple
manner

Direct Job Opportunity:- Many Students may know many fields but the lack of vision
and job market that is mostly hidden due to them being not aware of many opportunities is
also solved as we not only provide the info but also direct ways to showcase the talent to
get the job.

Skill Checking and authentication:- In India most student don’t have skills ready for the
industry but in Careerify there are many option of test,skill portfolio and other methods
that act as library of that job seeker to showcase their talent in a way that the different

40
employers can get all the info about them and also can check and see there skills that are
well Curated.

41

You might also like