Raport
Raport
Report of Thesis
Topic
Submitted by
Wiem Amdouni
Ferdaous Ouertani
Salma Guesmi
Noureddine Abdelghani
Supervised by
Ms. Mariem Kallel
Project Study............................................................................................. 5
1.1 Introduction........................................................................................................ 5
1.2 Problematics...................................................................................................... 5
1.6 Conclusion...........................................................................................................7
Needs analysis...........................................................................................8
2.1 Introduction........................................................................................................8
2.2 Actors................................................................................................................... 8
2.6 Conclusion..........................................................................................................9
Modeling Languages...............................................................................10
3.1 Introduction...................................................................................................... 10
3.5 Conclusion.........................................................................................................14
1
4.1 Introduction............................................................................................... 15
4.4 Conclusion........................................................................................................ 19
Implementation............................................................................................................ 20
5.1 Introduction.....................................................................................................20
5.4 Limits..............................................................................................................................22
5.5 Conclusion...................................................................................................................... 22
2
List of Figures
3
List of Tables
4
General Introduction
The Higher Institute of Computer Science (HICS) is a hub of innovation and learning,
fostering the growth of aspiring computer scientists. In the dynamic environment of higher
education, students are often seeking opportunities beyond the confines of traditional
classroom learning. Recognizing this need, our team embarked on a journey to develop
"IsiLink" – an innovative mobile application tailored specifically for the students of HICS.
IsiLink aims to bridge the gap between students and the wealth of opportunities available
within the institute. Our vision is to create a platform that seamlessly connects students
with valuable resources, events, and opportunities offered by university clubs and the
administration. Through IsiLink, students will gain access to a comprehensive directory of
opportunities ranging from club activities to administrative announcements, all in one
centralized location.
This project is not merely about building an app; it's about empowering our fellow students
to thrive academically, professionally, and socially within the HICS community. By
providing a user-friendly and intuitive platform, IsiLink endeavors to enhance student
engagement, foster collaboration, and enrich the overall student experience.
5
Chapter 1
Project Study
1.1 Introduction
In this chapter, we are going to present the problematic, the solution and the goals
behind this project.
1.2 Problematics
Before the development of any centralized platform like the IsiLink app, students at the
Higher Institute of Computer Science (HICS) encountered several challenges.
Communication channels were scattered, making it hard to access information about
institute opportunities. Without a central platform, these problems were even worse,
resulting in inefficiencies and missed chances. Many students were unaware of the full range
of available events, workshops, and activities organized by various clubs. As a result,
students missed out on valuable chances for personal and professional development. This
lack of awareness and engagement with club activities hindered student growth and limited
the collaborative potential within the institute community.
The proposed solution to address the challenges faced by students at the HICS is the
development and implementation of the IsiLink app. IsiLink aims to centralize information
about institute opportunities, events, and activities, increasing student awareness and
engagement. The goals of IsiLink include providing easy access to information, enhancing
student engagement with club activities, facilitating collaboration, improving
communication channels with the administration, offering a user-friendly interface, and
6
incorporating feedback mechanisms for continuous improvement. Through IsiLink, HICS
seeks to create a more informed, engaged, and collaborative student community.
The project management methodology adopted for the development of the IsiLink app is
Scrum. Scrum is an agile framework that emphasizes iterative development, collaboration,
and flexibility. In this methodology, the project is divided into short iterations called sprints,
typically lasting 2-4 weeks, during which a cross-functional team works to deliver a
potentially shippable product increment.We used UML as a modeling language.
7
1.5.3 Project Planification
One key aspect of managing projects using Scrum is to plan out the sprints. A sprint
typically lasts around three weeks. In our project, we have one sprint, as shown in Table 1.1.
The 'X' marks indicate when each task is planned to be done.
Logo X Ferdaous
Design X Wiem
1.6 Conclusion
In this chapter, we have presented the objectives of the IsiLink project along with our
action plan. We provide our detailed needs analysis in the following chapter.
8
Chapter 2
Needs analysis
2.1 Introduction
In this chapter, we identify the actors of the IsiLink application, as well as the functional
and non-functional requirements.
2.2 Actors
In UML, identifying actors helps establish the boundaries of the system to be developed.
An actor can be defined as an external entity to the modeled system that interacts with it.
In our project we find 2 types of actors : the user and the app administrator . The user refers
to the students as well as the club's administrator that are considered as a simple user . The
app admin is the person who is responsible for adding opportunities and information to the
app.
The functional requirements outline what the system must offer in terms of features. We
are limiting ourselves to the following requirements in the initial stage of this project.
The App Admin should be able to : - Create accounts : The administrator should create users
accounts after validating their registration form. - Manage accounts : Log in, Log out, View
their information and modify their password. -Manage services: He can view, add, modify,
and delete services(Opportunities).
The applicant, who is the Student, should be able to: - Create an account, meaning to
request the creation of their account. - Browse through the different offered opportunities .
- Choose a service. - Contact the professional. - Send a complaint or comment. -Ask for help
from other students via the open chat .
9
2.4 Description of Non-Functional Requirements
2.6 Conclusion
In this section, we have identified the actors of the application as well as the functional
requirements and modeled them using the use case diagram. This step constitutes the basis
for the design phase.
10
Chapter 3
Modeling Languages
3.1 Introduction
The design process represents the second stage in the application development lifecycle.
In this chapter, we present this phase by establishing the class diagram, sequence diagrams,
as well as the tables planned in the database.
11
3.3 Sequence Diagram
Below, we present the main diagrams. First, the system sequence diagram for the “create
account” use case 3.2.
The “authentication” sequence diagram is in Figure 3.3.
The “opportunities”sequence diagram in Figure 3.4 , and the “Chat” sequence in Figure 3.5 .
12
FIGURE 3.3 - Sequence diagram «Authentication»
13
FIGURE 3.5 - Sequence diagram «Chat»
14
FIGURE 3.8- Database User
3.5 Conclusion
In this chapter, we presented the design phase of our application, showcasing the class
diagrams and the main sequence diagrams. We then outlined the tables of the database,
which can be enriched with additional attributes later on.
15
Chapter 4
4.1 Introduction
In the previous chapter, we presented the design steps of the application. We are now
transitioning to the visual design and development phase. This phase focuses on creating
mockups to illustrate the interfaces of our future application.
16
FIGURE 4.1 - Figma Logo
17
FIGURE 4.3 - «Account Creation» and «Authentication» Interface
18
FIGURE 4.4 - «Opportunities» , «Chat» and «Help» Interface
19
4.4 Conclusion
In this chapter, we presented the stage of developing the interfaces of our application.
The use of Figma allowed us to create our logo and design the interfaces of our IsiLink
application. Regular iterations were conducted, involving continuous testing and
adjustments. After each testing session, we analyzed the feedback, identified areas for
improvement, and made necessary adjustments to enhance the overall user experience.
20
Chapter 5
Implementation
5.1 Introduction
In the previous chapter we presented the prototype of IsiLink application, in this chapter we
will go through the softwares and the programming languages we used in order to build
IsiLink.
1) User Interface (UI) Designer: Android Studio includes a visual UI designer that allows
developers to design app interfaces using drag-and-drop functionality, XML layout
editing, and theme customization.
2) Code Editor: Android Studio comes with a powerful code editor that supports syntax
highlighting, code completion, and refactoring tools. Developers can write code in
Java, Kotlin, or other supported programming languages.
4) Gradle Build System: Android Studio uses the Gradle build system, which automates
the process of building, testing, and deploying Android apps. Gradle simplifies
dependency management and allows for customizable build configurations.
5) Debugger: Android Studio provides debugging tools to help developers identify and
fix issues in their apps. Developers can set breakpoints, inspect variables, and step
through code to troubleshoot problems.
.
21
FIGURE 5.1 - Android Studio Logo
Jetpack Compose is a modern toolkit for building native Android UIs (user interfaces)
using a declarative programming model. Introduced by Google, Jetpack Compose simplifies
and accelerates the process of creating UIs for Android apps.
1) Declarative UI: With Jetpack Compose, UI components are defined using a declarative
syntax, where developers describe what the UI should look like based on its current
state, rather than imperatively specifying how it should be constructed. This makes
UI development more intuitive and concise.
22
FIGURE 5.2 - Jetpack Compose Logo
5.4 Limits
Limited Time for Team Collaboration: Due to time constraints, we faced challenges in
scheduling regular team meetings and collaborative sessions. This restricted our ability to
effectively share knowledge, brainstorm ideas, and synchronize our efforts towards project
goals.
Time Pressure for Completion: The project's timeline imposed significant pressure to
deliver results within a set timeframe. This limited our capacity to explore alternative
approaches, iterate on designs, and refine the application further.
5.5 Conclusion
In this chapter, we presented the development tools that we used to implement the
application. By using jetpack compose we managed to build some interfaces of the app.
23
General Conclusion
In sum, our project represents a significant achievement in meeting student needs
through the IsiLink mobile application. Utilizing Figma for design and prototyping,
and Android Studio with Kotlin and Jetpack Compose for development, we've
created a robust tool aimed at improving the university experience.
In conclusion, our project not only allowed us to apply theoretical knowledge but
also demonstrated the transformative potential of technology in enhancing student
life. Moving forward, we're committed to refining IsiLink to better meet the
changing needs of students and positively contribute to their academic pursuits.
24
Netography
1) https://www.youtube.com/playlist?list=PLjiHFwhbHYlEmPhn68XdG2p2k4X47XR-8
2) https://www.udemy.com/
3) https://fr.slideshare.net/medaminemah/rapport-projet-fin-dtudes-pfe
25