Project
Project
CSE 3212
LU Research Community
Student Name Student ID
Supervisor
Prithwiraj Bhattacharjee
Lecturer
Department of Computer Science and Engineering
By
Student Name Student ID
Supervisor
Prithwiraj Bhattacharjee
Lecturer
Department of Computer Science and Engineering
1. Student Name
is a record of research work carried out under my supervision and I, hereby, approve that the report
be submitted in partial fulfillment of the requirements for the award of their Bachelor Degrees.
1. Student Name
-I-
Acknowledgements
We are grateful to Almighty Allah for giving us the strength and ability to successfully
complete this project. Our sincere thanks go out to our parents, whose unwavering love, support,
and encouragement have been a constant source of motivation throughout our academic journey.
We would also like to extend our heartfelt appreciation to our honorable supervisor, Prithwiraj
Bhattacharjee, for his invaluable guidance, unwavering support, and personal interest in our
project. His insights and expertise have been instrumental in shaping our work. We would also
like to acknowledge Rumel M. S. Rahman Pir, the Head of the Department of Computer Science
and Engineering, for entrusting us with this project. We are also grateful to all the faculty members
of the CSE Department of Leading University for their constant attention, feedback, and support
throughout the project. Their encouragement and advice have been a source of inspiration for us.
Last but not least, we would like to express our gratitude to our family members, relatives, and
friends who have been a constant source of support and encouragement.
-II-
Dedication
• The dedication is the writerâs personal acknowledgment indicating his or her appreciation
and respect for significant individuals in the writerâs life. The dedication is personal; thus,
any individuals named are frequently unrelated to the topic of the dissertation. Indeed, it
need not be academic in any way.
• Typically, the learner dedicates the work to the one or two individuals who instilled in the
learner the value of education and the drive to succeed in educational pursuits. Learners
dedicate dissertations to relatives, immediate family, or significant individuals who have
supported them or played a role in their lives. Some learners dedicate their dissertations to
their higher power.
-III-
Contents
1 Introduction 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Background Study 3
2.1 Review Previous Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Methodology 4
3.1 User Requirements: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 System Requirements: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.1 Operating System: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.2 Web Server: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.3 Programming Language: . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.4 Database: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.5 Frameworks: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.6 Version Control System: . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.7 Development Environment: . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Structural Design 11
4.1 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 E-R Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.3 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
-IV-
4.3.1 Level- 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3.2 Level- 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3.3 Level- 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6 Conclusion 19
-V-
List of Figures
-VI-
Chapter 1
Introduction
1.1 Background
The project background is a one-page section of your project proposal that explains the problem
that your project will solve. You should explain when this issue started, its current state, and how
your project will be the ideal solution.
-1-
1.2 Motivation
The motivation section of your report should explain why your problem and solution are
important and valuable. It should answer questions such as: What are the benefits or implications
of your work for your field, domain, or society? What are the goals or objectives of your work?
How does your work fill a gap or solve a problem that has not been solved before? You should use
clear and persuasive language to convey your enthusiasm and passion for your work. However, you
should avoid making exaggerated or unrealistic claims, as this may undermine your credibility.
-2-
Chapter 2
Background Study
-3-
Chapter 3
Methodology
• Define project goals and requirements: To ensure the success of the LU Research Com-
munity, we defined its goals and requirements by identifying its features, functionalities,
technical specifications, and constraints. A clear definition of these elements allowed us to
create a well-structured project plan, which in turn, ensured that the end product effectively
met the needs of our university’s research community.
• Form a Scrum team: We formed a cross-functional team consisting of two members who
collaborated using the Agile methodology to develop the platform. As a small and self-
organizing team, we were able to work efficiently and effectively to deliver a high-quality
product that met the needs of the project supervisor.
• Create a product backlog: To guide the development process and ensure efficient task
prioritization during each sprint, a prioritized list of features and functionalities was created
for the LU Research Community project. This list served as a roadmap for the project and
ensured that the team remained focused on the most critical aspects of the platform.
• Sprint planning: We planned a series of sprints, with each sprint lasting one to four weeks,
during which our team focused on developing and testing specific features of the platform.
-4-
To ensure a streamlined development process, our team identified the tasks that needed to
be completed during each sprint and estimated the time required for their completion. This
approach helped us prioritize our workload, meet project milestones, and deliver high-quality
features on time.
• Hold daily stand-up meetings: We conducted daily stand-up meetings to keep our team
synchronized and up-to-date on the project’s progress. During these meetings, we discussed
any impediments that arose and made necessary adjustments to keep the project moving
forward smoothly.
• Continuous integration and testing: To ensure efficient development, our team followed
a prioritized approach during each sprint. We identified the most critical features and func-
tionalities for the LU Research Community platform and ensured that they were developed
and tested to a high standard before moving on to less critical tasks. This approach allowed
us to focus on delivering the most important aspects of the platform first while ensuring that
the development process remained on track.
• Sprint review and retrospective: At the end of each sprint, we conducted a review of
the work completed, demoed the newly developed features, and gathered feedback from our
supervisor. We carefully analyzed this feedback and used it to refine our product backlog and
plan the next sprint. By incorporating this feedback into our development process, we were
able to continuously improve the quality of our platform and ensure that we were meeting
the needs of our users.
• Release planning: To ensure the platform was ready for release, we conducted additional
testing and gathered feedback from users. Based on this feedback, we made necessary
refinements to the platform to improve its functionality and user experience. Once the
platform was stable and fully functional, we planned for its release. This involved developing
a marketing strategy to promote the platform to its intended audience, creating user manuals,
and providing training to users on how to use the platform effectively.
This agile development approach allowed us to manage changing priorities, respond to feedback,
and deliver features in a timely and efficient manner. As a result, we were able to create a product
that is not only functional and effective but also well-suited to the dynamic needs of our user base.
-5-
3.1 User Requirements:
• Designed with an easy-to-use navigation menu that provides a seamless user experience.
• Able to provide users with faster response times from our APIs.
• This system is accessible to all users, but only those who have been authenticated as LU
teachers and students have permission to write and access certain features.
-6-
3.2 System Requirements:
• Windows 11: Windows 11 is the latest major release of Microsoft’s Windows NT operating
system, released in October 2021. It is a free upgrade to its predecessor, Windows 10, and is
available for any Windows 10 devices that meet the new Windows 11 system requirements.
• HTML: The HyperText Markup Language or HTML is the standard markup language for
documents designed to be displayed in a web browser. It is often assisted by technologies
such as Cascading Style Sheets and scripting languages such as JavaScript.
• CSS: Cascading Style Sheets is a style sheet language used for describing the presentation
of a document written in a markup language such as HTML or XML. CSS is a cornerstone
technology of the World Wide Web, alongside HTML and JavaScript.
• Sass: Sass (short for syntactically awesome style sheets) is a preprocessor scripting language
that is interpreted or compiled into Cascading Style Sheets (CSS).
• PHP: PHP is a server scripting language and a powerful tool for making dynamic and
interactive Web pages. PHP is a widely-used, free, and efficient alternative to competitors
such as Microsoft’s ASP.
3.2.4 Database:
-7-
developers to create robust and scalable web applications that can handle large amounts of
data and traffic.
3.2.5 Frameworks:
• Laravel: Laravel is a free, open-source PHP web application framework designed to help
developers build modern, scalable, and robust web applications. It follows the Model-
View-Controller (MVC) architectural pattern and offers a wide range of features. The web
application thus designed is more structured and pragmatic.
• NuxtJS: NuxtJS is a free and open-source framework for building VueJS applications. It
simplifies the creation of single-page, server-side rendered, and statically generated web
applications by providing built-in features and conventions. NuxtJS is based on VueJS,
Node.js, Webpack, and Babel, and has extensive documentation and community support. It
is a popular choice for developers building modern web applications.
• Bootstrap: Bootstrap is a highly popular, free, and open-source CSS framework aimed at fa-
cilitating responsive, mobile-first front-end web development. It comes packed with HTML,
CSS, and JavaScript-based design templates for a wide range of interface components. With
Bootstrap, developers can easily create visually appealing, responsive websites that adapt
seamlessly across various devices and screen sizes.
• Git: Git is a free and open-source distributed version control system designed to track
changes in source code during software development. It allows multiple developers to
collaborate on a project by keeping a history of all changes made to the code and provides
tools for managing and merging these changes. Git provides a command-line interface as
well as a graphical user interface and is widely used in software development to manage
code repositories and track project progress.
-8-
3.2.7 Development Environment:
• VS Code IDE: VS Code, or Visual Studio Code, is a free and open-source code editor
developed by Microsoft. It is highly customizable and supports a wide range of programming
languages, with features such as syntax highlighting, code completion, debugging, and Git
integration. It also has a large extension marketplace, allowing users to add functionality
and customize the editor to their needs. Its lightweight and intuitive interface makes it a
popular choice among developers for writing and debugging code.
3.3 Features
• Types of Users:
-9-
We have successfully implemented the following features in our project:
• Register: Description...
• Authentication: Description...
• HomeFeed: Description...
• Department: Description...
• Connection: Description...
• Notification: Description...
• Chat: Description...
-10-
Chapter 4
Structural Design
A use case diagram Fig: 4.1 is a type of visual representation that illustrates the interactions
between actors and a system to achieve a specific goal or objective. It shows the different use cases,
actors, and their relationships in a system, providing a high-level view of its functionality.
The Use Case Diagram of our project:
-11-
Figure 4.1: Use Case Diagram
-12-
4.2 E-R Diagram
An Entity-Relationship (E-R) diagram Fig: 4.2 is a graphical representation of entities and their
relationships with each other. The diagram helps in designing a database schema and understanding
the relationships between entities. LU research community database, includes the following entities
and attributes:
User (id, name, slug, email, password, department id, designation, image, about, isActive,
passwordToken, and userType). Post: (id, user id, title, slug, type, abstract, authors, URL,
affiliation, count, department id, conference, publication date, attachment, start date, end date).
Image (id, post id, image name). Vote (id, post id, user id, upVote, downVote). Author: (id, user
id, post id) Like: (id, user id, post id). Comment: (id, user id, post id, comment). CommentReply:
id, user id, comment id, post id, comment. Connection (id, sent request user, received request
user. Notification (id, type, notifiable, data, read at, seen at), Conversation (id, from id, to id,
latest msg, is seen). ConversationChat (id, room id, from id, to id, msg, is seen). Department:
(department name). UserSkill: (id, skill id, user id). Skill: (id, name). The ER diagram for LU
Research Community has the following relations:
• Many-to-Many (N:N): Multiple instances of an entity are associated with multiple instances
of another entity. Example: Many researchers may collaborate on a research project, and a
researcher may collaborate on multiple projects.
-13-
Figure 4.2: E-R Diagram
-14-
4.3 Data Flow Diagram
A data Flow Diagram (DFD) is a graphical representation of the flow of data through a system.
There are four main components of a DFD: entities, processes, data stores, and data flows. The
purpose of a DFD is to provide a clear and concise overview of the system and to help identify
potential areas for improvement or optimization.
– Level-1 4.4
– Level-2 4.5
4.3.1 Level- 0
DFD Level 0 4.3, also known as the Context Diagram, provides an overview of the entire
system and its interaction with external entities.
-15-
4.3.2 Level- 1
In Level-1 DFD 4.4, the Context Diagram is decomposed into multiple processes, representing
the main functions of the system.
-16-
4.3.3 Level- 2
In level-2 DFD 4.5, we take a closer look at the subprocesses of the level-1 DFD.
-17-
Chapter 5
5.1 Limitations
-18-
Chapter 6
Conclusion
In conclusion, We hope that the LU Research Community will continue to serve as a valuable
resource for the university and its members for years to come.
-19-
References
-20-