Summer Report Muhammad Fiz
Summer Report Muhammad Fiz
FACULTY OF ENGINEERING
SOFTWARE ENGINEERING
SWEN300
TRAINING REPORT
29/01/2024
STUDENT
NAME: Muhammad
SURNAME: Talha
NUMBER: 21911827
TRAINING PLACE
1 INTRODUCTION .......................................................................................................... 2
1.1 GENERAL LEARNING OBJECTIVES/INTERNSHIP OBJECTIVES............ 3
1.2 Aim and objectives of my internship ................................................................... 4
2 INFORMATION ABOUT THE COMPANY ............................................................... 6
2.1 Departments and Personnel of the Company ...................................................... 6
2.2 Staff Distribution ................................................................................................. 7
3 WORK EXPERIENCE .................................................................................................. 8
3.1 Problem Definition .............................................................................................. 9
3.2 Work Done ........................................................................................................ 10
3.2.1 Website Development .................................................................................... 10
3.2.2 Front-End Technologies................................................................................. 13
3.2.3 Xest for API Development............................................................................. 13
3.2.4 Database Management ................................................................................... 13
3.2.5 Operating Systems and Tools ........................................................................ 13
3.2.6 Collaboration and Learning ........................................................................... 14
3.3 Limitations and Experience Gained .................................................................. 15
3.3.1 Understanding Front-End Development ........................................................ 16
3.3.2 Responsive Web Design ................................................................................ 16
3.3.3 Effective Use of Animations .......................................................................... 16
3.3.4 Navigation and User Experience (UX) .......................................................... 17
3.3.5 Working with MySQL for Back-End Development ...................................... 17
3.3.6 Developing with Java and MySQL Integration ............................................. 17
3.3.7 Conclusion ..................................................................................................... 18
4 RECENT TOPICS IN THE CONTEXT OF WORK DONE....................................... 19
5 CONCLUSION ............................................................................................................ 21
6 REFERENCES ............................................................................................................. 22
7 APPENDIX .................................................................................................................. 23
1
1 INTRODUCTION
Internships provide students with the opportunity to bridge the gap between theoretical
knowledge and practical application in a professional setting. They play a crucial role in
preparing individuals for their future careers by allowing them to gain hands-on experience,
develop key industry skills, and build professional networks. This internship report reflects
my experience as an intern at Near East Technology, where I worked in the Software
Engineering Department for 20 days from January to February 2024. The report aims to
highlight the contributions I made, the knowledge I gained, and the skills I developed during
this period.
The purpose of this report is to document the tasks I undertook, the challenges I faced, and
the outcomes achieved during my internship. The structure of the report is as follows:
Section 2 provides an in-depth description of Near East Technology, the company where I
completed my internship. This section covers the company's background, including its
establishment, core values, and its role in the technology industry. Furthermore, it details the
company’s organizational structure, with a breakdown of its various departments and
personnel, such as senior developers and their roles, and the collaborative environment that
fosters innovation in software development. This section will also offer insight into the
company’s specialized focus on technologies like RESTful APIs, artificial intelligence (AI),
and cloud computing infrastructure. This background is essential to understand the context in
which my work was conducted and the environment that shaped my experience.
Section 3 focuses on the work experience I gained during my internship. This section
provides detailed descriptions of the various projects I participated in, with a particular
emphasis on the development of a tourism website. I will explain how I applied both front-
end and back-end technologies to this project, utilizing languages and frameworks such as
Java, MySQL, and React to develop user-friendly and functional web pages. The report
outlines my contributions to building features like the login, sign-up, and booking pages, as
well as the integration of animations and responsiveness to enhance the overall user
experience. This section also explores the challenges I faced, including troubleshooting
database interactions, and highlights the collaboration with senior developers and other team
members to ensure smooth project execution. Through these experiences, I gained a deeper
understanding of the software development process and improved my technical and problem-
solving skills.
Section 4 introduces recent topics in the context of work done during my internship,
particularly focusing on the online certification courses I completed in both front-end and
back-end development. These courses provided me with a solid theoretical foundation that I
applied during my hands-on work at Near East Technology. This section explains how these
certifications contributed to my development as a software engineer, allowing me to apply
industry best practices and modern technologies to my work. I will also discuss how
continuous learning through certifications is essential in the rapidly evolving field of
technology and how it helped me stay updated on the latest trends, such as responsive web
design, user experience (UX) optimization, and RESTful API development.
Section 5 concludes the report by summarizing the overall impact of the internship on my
professional growth. This section reflects on the skills and knowledge I acquired and the
ways in which my experience has prepared me for future opportunities in the software
industry. The conclusion will also highlight the importance of internships in providing real-
2
world exposure, enabling students to transition from academic learning to professional
practice.
Internships have long been seen as opportunities primarily reserved for college students
seeking practical experience in a specific field. However, the concept of training internships
extends beyond this traditional boundary, offering a valuable avenue for individuals from
various backgrounds to gain hands-on experience and elevate their skill sets.
These training internships are not limited to any specific demographic and cater to a broad
spectrum of professionals across diverse fields such as architecture, engineering, healthcare,
economics, advertising, and more. This inclusivity transforms training internships into a
versatile tool for skill development, accessible to a wide range of individuals at different
stages of their careers.
In different sectors, internships serve varying purposes. Some are tailored to assist students in
conducting scientific research, while others are crafted to provide practical work experience
to individuals already navigating their professional paths. This diversity in objectives makes
internships adaptable to the unique needs of participants, fostering a dynamic learning
environment.
The significance of internships lies not only in the experiential learning they offer but also in
the strategic development of skills. The practical exposure gained in a real-world work setting
contributes to a more robust skill set, encompassing both technical expertise and soft skills
crucial for professional success.
For individuals seeking career opportunities, the skills cultivated during a training internship
become compelling additions to their resumes. Whether it's showcasing project management
capabilities, effective teamwork, or technical proficiency, these acquired skills serve as
tangible evidence of one's readiness to contribute meaningfully to a professional setting.
Therefore, when applying for a training internship, it becomes imperative to emphasize any
unique qualities or abilities, providing a distinct edge in a competitive landscape and
increasing the likelihood of securing engagement.
3
1.2 AIM AND OBJECTIVES OF MY INTERNSHIP
My journey during the internship was marked by a commitment to continual growth and
learning within the dynamic field of software development. I actively sought out diverse
projects that presented challenges spanning both the backend and frontend spheres, enabling
me to apply and refine my skills in real-world scenarios. This proactive approach not only
solidified my technical capabilities but also instilled in me a resilience and adaptability
crucial for navigating the ever-evolving landscape of the tech industry.
One pivotal aspect of my internship was the collaborative nature of the projects, which
exposed me to different perspectives and methodologies. Working alongside a diverse team, I
honed my communication and teamwork skills, understanding the importance of effective
collaboration in delivering successful software solutions. This collaborative experience also
underscored the significance of considering user experience and feedback in the development
process, emphasizing the user-centric approach essential for creating impactful applications.
4
2 INFORMATION ABOUT THE COMPANY
Near East Technology, established in 2016, is not only a software company but also an AI-
based research center. The company develops software using RESTful APIs, which help
different software systems communicate efficiently, making development more flexible and
compatible.
For creating user interfaces, Near East Technology uses popular tools like React and
EmberJS. These help in building dynamic and responsive web applications that offer a
smooth user experience.
On the server side, the company uses PHP Laravel, a reliable framework that helps in
building scalable and easy-to-maintain web applications.
In terms of design, the team uses Figma, a tool that allows them to work together smoothly,
creating and sharing designs efficiently.
Version control is handled with Git, which keeps the code organized and helps the team work
together effectively.
The company also uses various tools for managing its infrastructure, such as Elasticache,
AWS, Terraform, and the ELK stack. These tools ensure that applications are deployed,
scaled, and monitored for optimal performance.
For managing large datasets, Near East Technology relies on AWS Redshift, which supports
their data-driven research and decision-making processes.
The company uses MySQL, MongoDB, and Postgres for database management, choosing the
best option based on each project's needs
5
2.1 DEPARTMENTS AND PERSONNEL OF THE COMPANY
Near East Technology stands at the forefront of innovation, driven by a dedicated team of
skilled developers, meticulously organized to maximize efficiency and proficiency. This
dynamic team includes four experienced senior developers — Ibrahim and along with junior
developers Together, they contribute to the success of our diverse software development
projects. Dr. Fahri serves as the head of the team, project supervisor, and chairperson of
technology at Near East Technology, guiding the team towards achieving excellence in all
their endeavors
The organizational chart of the company (see Appendix, Figure 11).
.
Senior Developers:
Our team is led by experienced senior developers who bring a wealth of knowledge and
expertise in software engineering. These senior developers are the driving force behind our
development projects, ensuring that every task is executed with precision, timelines are
strictly adhered to, and budgets are effectively managed. Their role goes beyond just
technical leadership; they are also dedicated mentors who provide invaluable guidance and
support to our junior developers. Through their mentorship, they help the juniors sharpen
their skills, deepen their understanding, and confidently navigate the complexities of software
development.
Junior Developers:
Our dynamic team is further strengthened by a group of talented junior developers, who play
a crucial role in bringing innovative software solutions to life. These junior developers are
involved in various aspects of software creation, using a range of programming languages
and frameworks. They are proficient in technologies like XestJS and React, and they adapt
quickly to the ever-changing tech landscape.
Working closely with the senior developers, the juniors contribute to the seamless execution
of projects. Their efforts not only complement the work of the seniors but also enhance the
overall quality of our software solutions.
In this collaborative environment, junior developers receive continuous guidance, helping
them grow and develop into seasoned professionals. We are committed to nurturing their
talent by providing opportunities for increased responsibility and professional growth,
aligning with our core values and mission. This commitment ensures that our junior
developers are well-prepared to advance in their careers and make significant contributions to
our projects.
6
2.2 Staff Distribution:
Near East Technology operates with a well-organized and skilled team, led by senior
developers who bring extensive expertise to the company’s projects. The company’s
inclusive team structure blends dynamic talent with seasoned leadership, creating an
environment of excellence in the ever-evolving software development industry.
Senior Developers:
The team is guided by four experienced senior developers, including Ibrahim, who serves as
the team leader. Ibrahim provides essential mentorship and supervision to junior developers
and interns, ensuring that they receive the necessary guidance to excel. His role is especially
significant in the AI research center, where he leads projects focused on cutting-edge AI
technologies.
Junior Developers:
The junior developers are an integral part of the team, actively involved in various software
development projects. They contribute by working on tasks ranging from writing code to
testing and debugging, gaining hands-on experience in real-world applications. They work
closely with the senior developers, learning the intricacies of software development while
improving their technical and collaborative skills.
At Near East Technology, the collaborative environment fosters continuous learning, and
junior developers are given opportunities to expand their skill sets under the mentorship of
experienced professionals. This combination of leadership and teamwork ensures that all
team members are aligned toward achieving the company’s goals of delivering high-quality
software solutions.
7
3 WORK EXPERIENCE
My participation in the summer training program holds immense personal and professional
significance, as it provided a dynamic and enriching environment that fostered my growth in
unexpected and transformative ways. The program not only allowed me to acquire a diverse
set of new technical and practical skills, but also served as a platform where I could apply the
theoretical knowledge I had gathered from my university courses, as well as insights gained
from my self-directed learning initiatives. This hands-on experience bridged the gap between
academic concepts and real-world applications, deepening my understanding of various tools
and technologies while strengthening my ability to think critically and solve complex
problems.
In the sections that follow, I will delve into an in-depth exploration of the assignments and
projects I was entrusted with during the course of this training. These projects spanned a wide
range of areas, from front-end development to full-stack solutions, each offering its own
unique challenges and learning opportunities. By dissecting the specific tasks I was
responsible for, I will outline the strategies, techniques, and tools I employed to successfully
complete them. This will include details about the development environments I worked with,
such as Java, MySQL, and different code editors, as well as the practical application of my
skills in crafting user interfaces, designing databases, and managing project timelines.
One of the key aspects of this reflection is an honest account of the challenges and obstacles I
faced along the way. Whether it was grappling with unfamiliar technologies, troubleshooting
issues in my code, or managing the balance between creativity and functionality, these
hurdles taught me valuable lessons in perseverance, problem-solving, and adaptability. I will
share specific instances where I encountered setbacks, how I overcame them, and what these
experiences taught me about the importance of resilience and continuous learning in a
professional setting.
Perhaps the most profound impact of this summer training program lies in the personal and
professional development it catalyzed within me. Not only did it sharpen my technical skills,
but it also had a lasting effect on my mindset, helping me develop a deeper sense of
confidence in my abilities. Through navigating real-world challenges and collaborating with
peers and mentors, I refined my approach to teamwork, communication, and leadership. I
also gained a newfound appreciation for the importance of adaptability—understanding that
the ability to learn quickly and pivot when necessary is a critical component of success in the
ever-evolving tech industry.
8
setting, a professional environment, or through self-guided learning. The lessons learned from
this experience will undoubtedly continue to influence my career and personal growth for
years to come, serving as a cornerstone for future success and innovation.
.
3.1 Problem Definition
During my summer training program at Near East Technology, I worked for 20 days in the
Software Engineering Department, which is responsible for the software operations of the
organization as well as its clients. The department manages the design, development, and
maintenance of software, in addition to upgrading and managing existing systems. Projects
can originate either from internal requirements or external client requests, and the team works
across various platforms and programming languages to meet diverse client needs. During
my time there, I collaborated with a team of developers on a website development project
aimed at improving user experience and functionality. My tasks included enhancing the
navigation panel to ensure users could easily access key content and features. I was also
responsible for updating and reorganizing the menu items to align with the evolving structure
of the website, ensuring consistency across devices and platforms. In addition, I worked on
redesigning the footer to make it more informative and visually appealing while maintaining
a professional and clean design. This involved integrating contact details, privacy policies,
social media links, and other relevant information in a streamlined way. Another key part of
my role was ensuring that the website content met the project’s requirements. I collaborated
with both the content and development teams to make sure that all updates—whether text-
based or multimedia—were accurate and in line with the project goals. Throughout this
project, I had the chance to work with various development tools and technologies, which
greatly enriched my technical skill set. One of the key tools I used was Xest, which facilitated
rapid REST API development. This allowed me to integrate the frontend with the backend of
the website, ensuring smooth communication between both layers. Additionally, I got hands-
on experience with Raspberry Pi, which allowed me to better understand the interaction
between software and hardware, giving me deeper insights into system architecture. I also
had the opportunity to work with Java for backend development and MySQL for database
management, gaining practical knowledge of data storage and retrieval in web applications.
During my training, I worked with two operating systems, starting with Ubuntu OS, which
introduced me to a Linux-based environment. Later, I switched to Mac OS to explore its
functionality, and I learned to use Git on the terminal in both operating systems. Version
control was an important part of the project, and we used Git along with GitHub for code
collaboration. Git allowed the team to track changes to the codebase, while GitHub provided
an efficient platform for code merging and collaboration among team members. This summer
training program provided me with invaluable hands-on experience in software development.
I had the opportunity to apply the knowledge I had gained in a real-world project, enhancing
my technical skills in web development, API integration, and database management. It also
gave me the chance to work closely with a team, improving my collaboration and
communication skills. Overall, this experience strengthened both my technical and
interpersonal abilities, giving me a clearer understanding of how software projects are
developed and executed in a professional environment..
9
3.2 Work Done
3.2.1 Website Development
During my summer training program, I contributed to a tourism-based website project. This
project involved creating a comprehensive and engaging platform from scratch. Here’s a
detailed breakdown of the pages I worked on:
Login Page: The login page is crucial for user authentication and serves as the gateway for
users to access their accounts securely. I designed this page to be straightforward and
efficient, focusing on simplicity to avoid confusion. The layout included clearly defined
fields for entering the username and password, along with a prominent button to submit the
login form. To enhance security, I implemented measures such as masking the password
input and providing a 'forgot password' link for account recovery.Additionally, I incorporated
visual feedback mechanisms to inform users of input errors, such as incorrect username or
password, ensuring that they receive clear and immediate notifications if authentication fails.
The design also considered accessibility, ensuring that the form is easy to navigate for users
with disabilities by using appropriate contrast and keyboard navigation support.
I created the login screen to authenticate users (see Appendix, Figure 3).
.Sign-Up Page:The sign-up page was designed to facilitate the creation of new accounts on
the website, ensuring a smooth and user-friendly registration experience. This page featured
input fields for essential details such as name, email address, and password, which are crucial
for setting up a new user account. To enhance the user experience, I focused on simplicity
and efficiency, minimizing any potential barriers that might discourage users from
completing the sign-up process.I incorporated clear instructions and validation messages to
guide users through each step of the registration process. For instance, real-time feedback
was provided to ensure that users entered a valid email address and created a strong password
that met security requirements. This immediate feedback helped prevent errors and made the
registration process more intuitive.
The loading screen was designed to reduce user frustration (see Appendix, Figure 2).
Forgotten Password Page: This page helps users who have forgotten their passwords. It
included a form where users could enter their email address to receive instructions on how to
reset their password. I made sure that this page was secure and easy to navigate, providing
clear steps for users to follow in order to regain access to their accounts.I paid particular
attention to the design of the page, ensuring that it was easy to navigate and visually
consistent with the rest of the website. The form was designed to be simple and
straightforward, with a clear call-to-action button for submitting the request. Additionally, I
included error handling and informative messages to assist users if their email address was
not found or if there were any issues with the reset process.
The forgotten password screen allows users to reset their password (see Appendix, Figure
4)."
Splash Screen: The splash screen appears when users first visit the website and serves as a
welcoming introduction to the site and its features. I designed this screen to be both visually
appealing and informative, aiming to capture users' attention and provide them with a
preview of what they can expect from the website. The splash screen was crafted to set the
tone for the user experience, creating a positive and engaging first impression.To achieve
this, I incorporated eye-catching animations and engaging graphics that highlighted key
aspects of the website. These animations were designed to be smooth and captivating without
10
overwhelming the user or causing delays in loading. The graphics were chosen to reflect the
site's branding and theme, giving users an immediate sense of the website’s style and
purpose.
The splash screen appears when users first visit the website (see Appendix, Figure 1)."
.
Booking Page: The booking page allows users to make reservations for tours and
accommodations. This page was designed to be user-friendly, with a clear and organized
layout that guided users through the booking process. It included options for selecting dates,
number of guests, and other relevant details. I ensured that the page was responsive and
functional across different devicesTo ensure a smooth user experience across various devices,
I made the booking page fully responsive. This involved adapting the layout to fit different
screen sizes, from desktops and tablets to smartphones, ensuring that users could easily make
reservations regardless of the device they were using. The responsive design included touch-
friendly elements for mobile users and optimized navigation for a seamless booking
experience.
Check Hotels Page: This page enables users to view available hotels. I designed it to display
hotel options in a clear and organized manner, allowing users to easily compare different
hotels based on their preferences. The page included filters and sorting options to help users
find the best choices for their needs.To enhance the user experience, I incorporated various
filters and sorting options. Users could filter hotel listings based on criteria such as price
range, star rating, amenities, and location. This allowed them to narrow down their choices
and find hotels that best matched their needs. Sorting options enabled users to arrange the
hotel list based on factors like price, popularity, or distance from a specific location,
providing additional flexibility in their search
Dashboard Page: The dashboard provides users with a personalized view of their bookings
and account information. I designed it to be intuitive and easy to navigate, with sections for
viewing upcoming reservations, past bookings, and other relevant details. The dashboard also
included options for managing user profiles and preferences.The dashboard was structured
into clear, well-defined sections. One section displayed upcoming reservations, allowing
users to view and track their upcoming trips or stays. Another section provided access to past
bookings, where users could review their history and details of previous reservations. These
sections were designed to be easily accessible and organized to help users find the
information they needed without unnecessary clicks.
Users can update their details on the 'Update Customer Details' page (see Appendix, Figure
6).
View Packages Page: This page showcases various travel packages offered by the company.
I focused on presenting these packages in an attractive and informative way, with detailed
descriptions, images, and pricing information. Users could browse through different packages
and find the one that best suited their travel plans.The layout of the page was designed to
highlight each travel package with appealing visuals and comprehensive details. Each
package featured high-quality images that captured the essence of the destination and
experiences included. I included detailed descriptions of what each package offered, such as
itinerary highlights, included activities, and special features, to give users a clear
understanding of what they could expect.Pricing information was prominently displayed to
help users quickly assess the cost of each package and make informed decisions. I
implemented a pricing structure that included options for different budgets and preferences,
11
such as standard, premium, and luxury packages. To further enhance the user experience, I
included options for sorting and filtering packages based on criteria like price range,
destination, and duration.
Customer Details Page: The customer details page allows users to view and update their
personal information. I designed it to be secure and user-friendly, with fields for updating
details such as contact information and preferences. This page included validation checks to
ensure that the updated information was accurate and complete.The page was designed to be
fully responsive, ensuring that users can access and update their details seamlessly across a
range of devices, including desktops, tablets, and smartphones. This responsive design is
crucial for maintaining a consistent user experience regardless of the device used.I also
incorporated a confirmation step to prevent accidental changes and to make sure users are
aware of the modifications they are making. This confirmation step is an essential part of the
user experience, providing an additional layer of assurance that their information is updated
correctly.
The 'View Customer Details' page displays stored user information (see Appendix, Figure 7)
Overall, the customer details page was developed with a focus on security and ease of use,
providing a reliable platform for users to manage their personal information effectively.
The 'Add Customer Detail' page enables users to input personal information (see Appendix,
Figure 5).
Animations and Navigation: Throughout the website, I integrated animations to enhance the
user experience. These animations included hover effects, transitions between pages, and
dynamic content loading. The goal was to make interactions more engaging and visually
appealing. I also ensured that navigation between pages was seamless, so users could easily
move from one section of the website to another without any confusion.Hover effects were
designed to make user interactions more intuitive and enjoyable, with visual cues that
indicate clickable elements and provided immediate feedback. For example, buttons might
change color or scale slightly when hovered over, creating a sense of interactivity and
responsiveness.
Footer and Header: The header and footer are key components of the website's layout. I
redesigned these elements to provide easy access to important sections and information. The
header included navigation links and the site logo, while the footer contained contact details,
links to social media, and other essential information. Both elements were designed to be
consistent with the overall branding of the website and to enhance user accessibility and
responsiveness. The header was designed to prominently feature the site logo and essential
navigation links. It provided users with easy access to key areas of the website, such as main
sections, search functionality, and user account options. The navigation links were organized
logically to help users quickly find what they were looking for, while the logo was placed
strategically to reinforce the brand identity and provide a consistent point of reference
throughout the site.
Overall, the redesigned header and footer were intended to enhance user accessibility,
provide clear navigation, and support the website’s branding, ultimately improving the
overall user experience and satisfaction.
12
3.2.2 Front-End Technologies
For this project, I used Java for the front-end development, allowing me to create a
responsive and interactive user interface. Java’s robust features enabled me to implement
various functionalities and ensure that the website operated smoothly. On the back end,
MySQL was used to handle data management, including user information and booking
details. This combination of technologies ensured that the website was both powerful and
efficient.
3.2.3 Xest for API Development
To support the website’s functionality, we utilized Xest, a tool for creating REST APIs. Xest,
built on ExpressJS, facilitated rapid API development and included several key features:
A comprehensive database interface for managing data.
Role-based authorization and built-in authentication for secure access.
Tools for generating seed data and handling database migrations.
Xest streamlined the development of APIs, making it easier to integrate with the website and
manage data efficiently.
3.2.4 Database Management
The back-end of the website was supported by MySQL, which played a crucial role in
managing various data-related tasks. This involved defining database schemas to structure
and organize data effectively, as well as seeding the database with initial information to
ensure that the website had the necessary data to function properly from the outset. MySQL’s
robust capabilities enabled efficient data management and retrieval, which was essential for
maintaining smooth and reliable website operations. Additionally, MySQL facilitated
complex queries and transactions, contributing to the overall performance and scalability of
the website. Its integration with the back-end ensured that data interactions were seamless
and that the website could handle user requests and updates efficiently.
13
3.2.6 Collaboration and Learning
Working on this project required close collaboration with a team of developers, and it was a
significant learning experience that provided me with valuable insights into real-world
software development practices. This collaboration allowed me to observe how professionals
tackle complex software challenges, divide tasks, and communicate effectively to meet
project deadlines. It also taught me the importance of understanding each team member’s role
and how the coordination of these roles ensures the seamless progression of a project. In this
process, I gained hands-on experience with various development tools, ranging from API
development tools to front-end and back-end technologies. This opportunity allowed me to
appreciate the practical implementation of theoretical knowledge while learning to adapt
quickly to the challenges that arise in dynamic software development environments.
I learned a great deal about the importance of teamwork and communication. In a fast-paced
development cycle, effective communication is key to ensuring that all members are aligned
with the project’s objectives. By participating in regular meetings, providing updates on my
progress, and asking for feedback, I improved my communication skills, which proved
essential for avoiding miscommunication and resolving technical issues promptly. Working
with others also made me realize how crucial it is to be adaptable. With project requirements
constantly evolving and new challenges emerging, the ability to pivot and adjust to new
information became an important part of the development process. By learning from the
experiences of my colleagues and adopting new techniques as we progressed, I was able to
stay flexible and contribute effectively to the project.
Throughout the project, I worked on designing and developing multiple pages for the
tourism-based website, which required a deep understanding of both user experience (UX)
and user interface (UI) design principles. My work involved creating visually appealing and
user-friendly pages, from login and sign-up pages to more complex sections like booking
pages, hotel check-ins, and customer dashboards. I integrated animations that enhanced the
interactive elements of the website, making the user experience more engaging and dynamic.
By focusing on smooth navigation and responsiveness across different devices, I ensured that
the website functioned seamlessly for a wide variety of users.
On the technical side, I gained a comprehensive understanding of the software development
process through hands-on experience. The project gave me the opportunity to work with Java
for front-end development, where I focused on creating interactive and responsive user
interfaces. Java allowed me to implement smooth transitions, form validations, and dynamic
content loading, contributing to an improved user experience. For back-end management, I
worked with MySQL, which provided me with practical experience in managing databases. I
learned how to structure, retrieve, and manipulate data efficiently, ensuring that user inputs
were stored securely and could be accessed when needed. Integrating the front-end and back-
end systems required seamless communication between the two, which was achieved through
the use of REST APIs. For this, we used Xest, a tool that allowed us to quickly develop and
test APIs, ensuring that data could be passed back and forth between the server and client-
side without any issues.
The project also involved working with version control tools like Git, which played a crucial
role in team collaboration. By using Git and GitHub, we were able to manage changes to the
codebase effectively, allowing multiple developers to work on different parts of the project
simultaneously. This experience showed me how important it is to maintain clean and well-
documented code, as it allows for easier debugging, collaboration, and future updates. The
14
ability to merge changes seamlessly and resolve conflicts within the code further highlighted
the importance of version control in modern software development. Working with these tools
not only improved my technical proficiency but also gave me a deeper understanding of the
workflows and practices that are essential to collaborative development projects.In summary,
my work on the tourism-based website involved a comprehensive range of tasks, including
designing and developing multiple web pages, integrating animations, and ensuring smooth
and intuitive navigation for users. By using Java for front-end development, MySQL for
back-end database management, and Xest for API development, I contributed to the project’s
overall success. The experience provided me with a solid foundation in software
development, equipping me with both the technical skills and collaborative abilities needed to
excel in this field. Moreover, it reinforced the importance of continuous learning,
adaptability, and effective communication—skills that are critical for any successful software
development project. This hands-on experience in both individual and collaborative settings
has not only strengthened my understanding of software development but also prepared me
for future challenges in the industry.As I became more familiar with the tools and
technologies involved, I also took the initiative to explore additional features that could
enhance the website’s performance and user experience. I researched various optimization
techniques for web applications, such as image compression, lazy loading for assets, and
caching strategies. These methods helped improve the website's load times and overall
responsiveness, which is critical for retaining users in a competitive market like tourism
In conclusion, my experience working on the tourism-based website project was
transformative. It provided me with hands-on experience in software development, from the
design and implementation of web pages to back-end database management and API
integration. The knowledge I gained from using tools like Java, MySQL, Xest, and Git, along
with the opportunity to work in a collaborative environment, has given me a strong
foundation to build upon in my future endeavors. This project not only enhanced my
technical skills but also equipped me with the practical know-how required to thrive in the
software development industry.
15
indexing, query optimization, and the nuances of relational database design. Handling user
authentication securely was crucial, as it involved implementing robust security measures to
protect user data from potential threats. This included hashing passwords, managing sessions,
and ensuring secure data transmission Integrating the front-end with the back-end also
required effective management of API interactions. I had to ensure that data was correctly
fetched from the server and properly displayed on the client side. This required a solid
understanding of how REST APIs work and how to handle asynchronous operations. I
learned to troubleshoot issues related to data synchronization, error handling, and maintaining
data integrity across different parts of the application.
Throughout the project, I also faced challenges related to version control and team
collaboration. Managing code changes, resolving merge conflicts, and coordinating with team
members required strong communication skills and a collaborative mindset. These
experiences taught me the importance of maintaining clear documentation, adhering to
coding standards, and being open to feedback.
3.3.1 Understanding Front-End Development
A significant part of my work involved front-end development using Java. I learned how to
effectively create and structure user interfaces from scratch. My work included designing
interactive web pages with multiple components like login screens, dashboards, and booking
pages. I became proficient in using various classes and libraries to build a cohesive front-end,
focusing on organizing code and implementing reusable components. This experience
sharpened my ability to create web interfaces that are both visually appealing and functional.
3.3.2 Responsive Web Design
Ensuring that the website was responsive was crucial. I gained experience in making the site
adaptable to different devices and screen sizes, including desktops, tablets, and mobile
phones I used HTML5 and CSS3 to build the front-end of the website [2].I learned to use
CSS media queries, flexible grid layouts, and other responsive design techniques. Testing the
website's performance on various platforms taught me the importance of planning for
multiple device scenarios to enhance user accessibility During this process, I also learned
how to manage scalable images and responsive typography, making sure that images and text
adapted smoothly without compromising clarity or performance. The website's navigation,
buttons, and forms had to be optimized for touchscreens and mouse-based input devices,
requiring special attention to details like button size and spacing. Testing the website’s
performance on various platforms, from Android and iOS devices to different desktop
browsers, provided valuable insights into the importance of cross-browser compatibility.
3.3.3 Effective Use of Animations
Integrating animations was an important aspect of enhancing the website's user experience. I
worked on implementing smooth, engaging animations without compromising performance.
Animations played a key role in enhancing user engagement [8]. This included hover effects,
transitions, and dynamic content loading. My goal was to ensure that animations were not
only visually appealing but also contributed to the overall functionality of the website. This
experience highlighted the importance of balancing aesthetics with usability in web design.In
addition to hover effects, I implemented transitions between different sections of the website,
ensuring that the movement between pages or elements was fluid and seamless. These
transitions helped guide the user's focus and made the navigation process feel more natural. I
also worked on dynamic content loading, where certain elements of the page would load only
when necessary, enhancing both performance and user experience by reducing initial load
16
times One of the key challenges was ensuring that these animations did not compromise the
website’s performance, particularly on slower devices. To achieve this, I used hardware-
accelerated CSS animations and optimized the timing of animations to minimize any impact
on loading speed or user interaction.
3.3.4 Navigation and User Experience (UX)
Improving the website's navigation was another key focus. I learned how to design intuitive
navigation structures that guide users efficiently through the website. This involved creating
logical page hierarchies and ensuring consistency in navigation elements across all pages. My
work emphasized user-centric design, making it easier for visitors to find the information
they needed, thereby enhancing the overall user experience.
Additionally, I implemented responsive navigation techniques to ensure that the navigation
system functioned well on both desktop and mobile devices. This required designing
collapsible menus for smaller screens and ensuring that touch interactions were smooth and
user-friendly. I also incorporated search functionality to allow users to quickly find specific
information or services without having to navigate through multiple pages.
3.3.5 Working with MySQL for Back-End Development
In addition to front-end development, I gained experience with MySQL for back-end
development. I learned how to design and manage database schemas, perform data seeding,
and integrate the database with the front-end to create a dynamic and responsive website.
This experience broadened my understanding of the interaction between front-end and back-
end systems and the importance of efficient database management. API development was
streamlined using Node.js [4]."
17
3.3.7 Conclusion
Growth as a Developer
In conclusion, the journey of developing this tourism-based website has been both
challenging and rewarding. I developed a comprehensive understanding of web development,
mastering the intricacies of both front-end and back-end technologies. For backend
development, Java Persistence was used to manage data [5]. The project pushed me to learn
new tools and techniques, adapt to unforeseen challenges, and continually improve my
coding practices the front-end development involved creating an engaging and user-friendly
interface, which required me to delve into responsive design and animation integration. I had
to ensure that the website looked and worked flawlessly across various devices and screen
sizes, mastering techniques such as CSS media queries and flexible grid layouts.
Implementing smooth and visually appealing animations was another critical aspect, which
involved balancing aesthetics with performance to enhance the user experience without
compromising the website’s functionality.
On the back-end, I tackled the complexities of managing data storage and retrieval with
MySQL. This included optimizing database queries for efficiency, handling secure user
authentication, and ensuring seamless interaction between the front-end and back-end
components. Each challenge I encountered required a deep understanding of Java and
MySQL, as well as the ability to troubleshoot and resolve issues effectively. Integrating the
front-end with the back-end demanded careful handling of API interactions, ensuring that
data was accurately fetched and displayed
The limitations I faced, such as the complexity of responsive design and the integration of
animations, were valuable learning experiences that have equipped me with the skills to
tackle even more complex projects in the future. Overall, this experience has significantly
contributed to my growth as a developer, preparing me for the demands of the ever-evolving
field of software development Overall, this project has significantly contributed to my growth
as a developer. It has provided me with a solid foundation in web development, equipping me
with the skills and knowledge needed to tackle diverse and evolving challenges in the field of
software development.
18
4. RECENT TOPICS IN THE CONTEXT OF WORK DONE
This section focuses on the certifications I completed in Front-End and Back-End
Development, both of which directly influenced my practical experience during the summer
training program. These certifications not only provided me with essential technical
knowledge but also enabled me to apply that knowledge in real-world projects at Near East
Technology.
Back-End Development Certification:
Program Details:
The Back-End Development Certification was a comprehensive course covering server-side
programming, database management, and API development.
Topics included advanced concepts such as RESTful services, database design, authentication
mechanisms, and handling server-client communications.
The program involved hands-on projects where I practiced developing secure, scalable back-
end systems using languages like Java and tools like MySQL.
I earned a backend development certificate during my training (see Appendix, Figure 9).
Application in Work:
At Near East Technology, my back-end knowledge was instrumental in setting up the server-
side components for the website development project. I contributed by designing the database
structure, creating RESTful APIs, and ensuring smooth communication between the front-end
and back-end systems.
My expertise in server-side programming allowed me to develop secure login and sign-up
pages, integrate authentication mechanisms, and manage user sessions effectively.
Additionally, I worked on improving database performance, optimizing queries to reduce
load times, and ensuring data integrity during multiple user interactions.
Front-End Development Certification:
Program Details:
The Front-End Development Certification course focused on designing responsive and
dynamic user interfaces. It covered topics such as HTML5, CSS3, JavaScript, and front-end
frameworks like React.
The curriculum emphasized creating engaging, user-friendly web pages and implementing
animations, transitions, and enhanced navigation for an optimal user experience.
A significant part of the course involved building interactive interfaces, developing reusable
components, and ensuring cross-browser compatibility.
Application in Work:
During my summer training, I applied my front-end skills extensively in the website
development project. I was responsible for designing and implementing key pages such as the
booking page, dashboard, and customer details.
Using my knowledge of HTML, CSS, and JavaScript, I ensured that the website was
responsive, with consistent layout and design across different devices.
19
I also introduced smooth transitions and animations to improve the user experience and
worked on optimizing navigation by redesigning the footer and header for better accessibility.
The frontend development certificate I obtained was pivotal in my work (see Appendix,
Figure 10).
Impact and Continuous Learning:
Completing both the Front-End and Back-End Development certifications, each involving
over 10 hours of intensive training, has significantly enhanced my technical skills.
These certifications directly contributed to the successful completion of tasks during my
summer internship, such as developing a fully functional website with both front-end and
back-end systems.
The courses also highlighted the importance of keeping up with industry trends, ensuring that
my learning continued beyond the training period. This mindset of continuous learning will
serve me well in future projects, as technology evolves and new challenges emerge.
20
5 CONCLUSION
The internship program provided me with a wealth of knowledge about the software industry,
its culture, and the day-to-day realities of software development. It was an eye-opening
experience that allowed me to gain a deeper understanding of how the software development
process works in a real-world setting. Through regular team meetings with senior developers,
project managers, and other team members, I learned how to discuss project risks, share
ideas, and work collaboratively to overcome challenges. This experience helped me build
confidence, take on more responsibility, and develop a strong work ethic.
I was introduced to various aspects of the software development life cycle, including
planning, designing, coding, testing, and deploying software. Each stage presented unique
challenges and learning opportunities, which helped me understand the importance of each
phase and how they interconnect to produce a successful software product. I became more
comfortable working within a team environment, and I learned to appreciate and value the
diverse perspectives and suggestions of my teammates. The collaborative nature of the work,
combined with the guidance and support received during team meetings and brainstorming
sessions, was instrumental in helping me tackle issues that would have been difficult to
resolve independently.
Fieldwork and internships are essential components of education, providing practical
experience and a platform for students to showcase their skills and potential. They serve as
valuable tools for marketing and recruitment for educational institutions, highlighting the
effectiveness of their programs. Given the benefits that internships offer, they should be
given more attention and support to ensure they continue to be valuable learning
opportunities. Improved planning, communication, and administrative support can enhance
the effectiveness of internships, making them a meaningful and enriching experience for
students. This not only contributes to personal and professional growth but also prepares
students more effectively for their future careers in the industry.
The internship also provided a unique opportunity to observe and participate in the practical
applications of theoretical concepts learned in the classroom. By working on real-world
projects, I was able to see how principles of software design, coding standards, and project
management are applied in practice. This hands-on experience was invaluable in bridging the
gap between academic learning and practical execution, allowing me to refine my skills and
apply my knowledge in a professional setting. Additionally, interacting with experienced
professionals in the field offered insights into industry best practices and emerging trends,
further enhancing my understanding of the software development landscape. The exposure to
different tools and methodologies, combined with the feedback and mentorship from industry
experts, was instrumental in shaping my approach to problem-solving and project execution,
preparing me for future challenges in my career.
.
21
6 REFERENCES
[1] J. Duckett, “HTML and CSS: Design and Build Websites,” Indianapolis, IN, USA: Wiley,
2011.
[2] E. Freeman and E. Robson, “Head First HTML and CSS: A Learner's Guide to Creating
Standards-Based Web Pages,” 2nd ed., Sebastopol, CA, USA: O'Reilly Media, 2012.
[3] B. D. Meyer, “CSS: The Definitive Guide: Visual Presentation for the Web,” 4th ed.,
Sebastopol, CA, USA: O'Reilly Media, 2017
[4] M. Dawson, “Node.js Design Patterns: Design and implement production-grade Node.js
applications using proven patterns and techniques,” 2nd ed., Birmingham, UK: Packt
Publishing, 2020.
[5] S. K. McCool, “Java Persistence with Hibernate,” 2nd ed., Boston, MA, USA: Manning
Publications, 2015.
[6] J. K. Williams and J. K. Stewart, “Spring in Action,” 5th ed., Shelter Island, NY, USA:
Manning Publications, 2021.
[7] J. L. Souders, “High-Performance Web Sites: Essential Knowledge for Front-End
Engineers,” Sebastopol, CA, USA: O'Reilly Media, 2007.
[8] A. L. T. Boulanger and J. Krug, “Animation at Work: The Definitive Guide to Creating
and Implementing Motion Graphics for Web and Interactive Media,” Boston, MA, USA:
New Riders, 2008.
22
7 APPENDIX
23
Figure 3. login screen
24
Figure 5. Add customer detail
25
Figure 7. View customer details
26
Figure 9. backend development certificate
27
Figure 10. Front end development certificate
28
Figure 11. The organizational chart of the company.
29