0% found this document useful (0 votes)
46 views40 pages

Internship, Report

Uploaded by

Fedawak Hailu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views40 pages

Internship, Report

Uploaded by

Fedawak Hailu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

AMBO UNIVERSITY

HACHALU HUNDESSA CAMPUS


SCHOOL OF INFORMATICS AND ELECTRICAL ENGINEERING
DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING COMPUTER
STREAM
INTERNSHIP REPORT
PREPARED BY ID
Werke Diriba.....................................................................UGR/51378/13

COMPANY SUPERVISOR: MR. MILLION


DURATION OF INTERNSHIP STAY: MAY. 2024 – AUGEST
SUBMISSION DATE: OCTOBER 11, 2024

i
ii
ACKNOWLEDGEMENT
First of all, we would like to thank the Almighty God for keeping us alive to be able to work
until this day as interns in eTech. Secondly, we would like to give our greatest gratitude for
our families for the support and care they have given us. Then I would like to thank staff of
etch Mr. YOHANNES for making it possible to gain plenty of knowledge in this constricted
period of practice during my internship. Our great gratitude also goes to our advisor Mr.
ISAYAS for helping us how we accomplished the activity in the duration of our stay. At the
last, we would like to thank all the staff members of eTech solution .

i
Executive Summary
My internship at Etech Solutions, which spanned from [may] to [August], was a valuable
learning experience that helped me gain hands-on knowledge in software development.

The primary objective of this internship was to enhance my skills in JavaScript and
Angular while contributing to live projects within the company.

Etech Solutions is a leading software company specializing in web and mobile application
development. I worked within the IT department, particularly with the software
development team, where I was involved in building front-end components for web
applications and resolving bugs in existing code.

My key responsibilities included coding, debugging, API integration, and collaborating with
team members to optimize various features of the application.
Throughout the internship, I acquired crucial skills such as JavaScript development, API
integration, debugging, and a deeper understanding of the Angular framework.

I also learned to use version control (Git) effectively and enhanced my teamwork,
communication, and problem-solving abilities.
Despite the fast-paced environment, I adapted quickly and successfully overcame challenges,
such as understanding complex codebases and debugging issues. With guidance from my
supervisors and through independent study, I was able to contribute meaningfully to the
project's success.

In conclusion, this internship has significantly contributed to my professional development by


providing real-world experience in software development. It has also reinforced my interest
in pursuing a career in web development. I recommend that future internship programs
include more structured feedback sessions to ensure continuous improvement for interns.

ii
Table of Contents
ACKNOWLEDGEMENT .............................................................................................................................. i
Executive Summary................................................................................................................................. ii
CHAPTER ONE ......................................................................................................................................... 1
1. Introduction .................................................................................................................................... 1
CHAPTER TWO ........................................................................................................................................ 6
2.1 Overview of the Organization ........................................................................................................... 6
2.2 Mission and Vision ........................................................................................................................ 7
2.3 Commitment to Ethical Business Practices ................................................................................... 7
2.4 Products and Services at eTech .................................................................................................. 10
2.5 Organizational Structure and Hierarchy at eTech....................................................................... 13
2.6 The organizational structure of the company can be depicted as shown .................................. 16
CHAPTER THREE .................................................................................................................................... 17
3. What I have learned ? ................................................................................................................... 17
CHAPTER FOUR ..................................................................................................................................... 22
4. Challenge and Contribution (project) ............................................................................................... 22
4.1 challenges and contribution ....................................................................................................... 22
CHAPTER FIVE ....................................................................................................................................... 28
5. Recommendations and Conclusion................................................................................................... 28
5.1 Overall Conclusions ..................................................................................................................... 28
5.2 Recommendations for Future Internships: ................................................................................. 29
Summary ....................................................................................................................................... 30
References ............................................................................................................................................ 31

iii
iv
v
i
CHAPTER ONE
1. Introduction

1.1 Introduction of the Report


The internship program at eTech Solutions provided an invaluable opportunity to integrate
academic knowledge from my computer engineering studies with practical experience in a
professional setting. As an intern, my role primarily focused on front-end development,
where I had the chance to work extensively with JavaScript and Angular. This experience
allowed me to take theoretical concepts I had learned in my courses and apply them directly
to real-world projects, offering a deeper understanding of web development and the
intricacies of building user-facing applications.

The primary objective of the internship was to expose interns to real industry challenges,
processes, and practices while fostering technical growth and enhancing problem-solving
skills. At eTech Solutions, I was part of a dynamic development team that adhered to agile
methodologies. This gave me insights into how software development is managed in an
organized and iterative fashion, including exposure to sprint planning, task breakdown, and
daily stand-up meetings. Each aspect of the internship aimed to simulate the responsibilities
of a full-time developer, preparing me for the realities of working in the tech industry.

The internship involved a variety of tasks, ranging from developing new features to
identifying and fixing bugs within existing systems. The primary technologies I used were
JavaScript, Angular, and associated tools for building modern web applications. I learned
how to navigate through large codebases, understand project structures, and contribute
effectively as part of a team. Working alongside senior developers provided mentorship
opportunities, where I gained feedback on my code and learned best practices for
maintainable and readable code.

One of the key aspects of the internship was the development of both technical and soft skills.
On the technical side, I enhanced my knowledge of JavaScript and gained a solid
understanding of Angular, including concepts such as components, services, directives, and
reactive forms. I also learned to use Git for version control, which is crucial for team-based
development, ensuring seamless collaboration and proper code management.

On the soft skills side, I was able to build my communication and teamwork abilities.
Participating in meetings and discussions helped me understand the importance of clearly

1
articulating ideas, asking the right questions, and effectively presenting my work. This
experience also taught me how to manage my time effectively to meet deadlines, break down
complex tasks into manageable units, and seek help whenever I encountered challenges.

Throughout the internship, I worked on projects that aimed to improve the user experience of
web applications. I contributed to feature development, worked on front-end user interface
improvements, and collaborated with backend developers to ensure the consistency of data
flow and integration. Each of these activities provided me with a holistic view of full-stack
development, even though my focus was on the front end.

In addition to gaining technical skills, I also learned about the broader workflow of software
development projects, including requirement gathering, design considerations, testing, and
deployment. Being involved in these stages gave me an understanding of the full lifecycle of
a project and the level of collaboration required across different roles in the organization.

Overall, the internship at eTech Solutions has been a transformative experience that has
enhanced my skill set, provided me with a realistic view of software engineering, and
motivated me to keep learning. The combination of technical challenges, collaborative
teamwork, and exposure to industry best practices has prepared me for future roles and
helped me grow both as a developer and as a professional.

1.2 Data Collection: Primary and Secondary


During my internship at eTech Solutions, data collection was an essential aspect of
understanding both the user requirements and the system improvements needed for the
ongoing projects or task. The data collection was conducted through both primary and
secondary methods to gather comprehensive information that would inform our development
process.

Primary Data Collection


Primary data collection involved direct and first-hand interactions within the project
environment. This included participating in team meetings, stand-up sessions, and
discussions with mentors and project leads. By engaging with other team members, I was
able to gain insights into user expectations, project requirements, and existing issues that
needed attention. This data was invaluable for understanding the needs of both internal
stakeholders and end-users.
Additionally, feedback sessions and code reviews provided immediate, specific feedback on
my tasks and contributions, which I then used to make adjustments and improvements. These

2
feedback loops served as a direct source of data that helped me understand how to improve
the quality of my work and align with the team's standards.

Secondary Data Collection


Secondary data collection was also an important aspect of the internship. This involved
studying existing documentation, such as technical specifications, system design documents,
and user guides for projects that were already in progress. Reviewing the company’s internal
knowledge bases, tutorials, and previous development case studies helped me understand the
structure and context of ongoing projects.
In addition, I used online resources and industry-standard documentation for JavaScript,
Angular, and other technologies we were using, which helped me solve problems effectively
and follow best practices. By reviewing previous projects and documentation, I was able to
build on existing knowledge, avoid redundant efforts, and make meaningful contributions to
the team.

In conclusion, the combination of primary and secondary data collection methods ensured
that I had a thorough understanding of both user needs and technical requirements. This
approach allowed me to actively participate in the development process and contribute to the
task effectively.

1.3 Purpose of Using SWOT Analysis in Internship


The purpose of using a SWOT analysis during my internship at eTech Solutions was to assess
and reflect on my experiences in a structured manner. A SWOT analysis—evaluating
Strengths, Weaknesses, Opportunities, and Threats—helped me gain a deeper understanding
of my personal growth, areas for improvement, and how to leverage the available
opportunities.

1. Strengths: Identifying my strengths allowed me to recognize what I excelled at


during the internship, such as my proficiency in JavaScript, my ability to learn new
concepts like Angular quickly, and my strong work ethic. Understanding my strengths
helped me focus on tasks where I could make significant contributions and added
value to the team.

2. Weaknesses: Recognizing my weaknesses was crucial for personal and professional


growth. During the internship, I identified areas where I needed to improve, such as
getting more comfortable with debugging large codebases or enhancing my time
management skills when juggling multiple tasks. This self-awareness enabled me to

3
set specific goals for improvement, both during the internship and for future
development.

3. Opportunities: The internship provided numerous opportunities, such as learning


from experienced developers, working on real-world projects, and enhancing my soft
skills. By doing a SWOT analysis, I could focus on leveraging these opportunities,
such as actively participating in discussions, learning about agile methodologies, and
asking questions to gain further insights. Recognizing these opportunities helped me
make the most out of my internship experience.

4. Threats: Identifying potential threats allowed me to address challenges proactively.


For instance, the fast-paced environment and the complexity of the projects could
have been intimidating. Acknowledging these factors helped me strategize on how to
manage them, such as seeking timely assistance from mentors or breaking tasks into
smaller, manageable parts.

Using SWOT analysis during my internship gave me a clear framework for reflecting on my
progress. It allowed me to systematically evaluate my skills, determine how to capitalize on
the learning environment, and work on overcoming my weaknesses and potential challenges.
Ultimately, the SWOT analysis served as a valuable tool to enhance my learning experience
and shape my future career development.

Purpose of SWOT Analysis

The purpose of using a SWOT analysis during my internship at eTech Solutions was to
evaluate my overall experience systematically and identify key aspects of my professional
development. By categorizing my strengths, weaknesses, opportunities, and threats, I was
able to gain a clearer understanding of my capabilities, areas needing improvement, growth
opportunities, and potential challenges in the professional setting.

1. Understanding Strengths and Weaknesses: The SWOT analysis helped me identify my


strengths, such as my skills in JavaScript and adaptability in learning Angular. It also
highlighted weaknesses, like time management and navigating complex codebases.
Understanding these helped me to capitalize on my strengths and work on areas that needed
improvement.

2. Leveraging Opportunities: Throughout the internship, the analysis provided insights into
opportunities available to me, such as learning from senior developers, participating in real-

4
world projects, and expanding my knowledge of software development methodologies.
Recognizing these opportunities enabled me to make the most of my time at eTech Solutions.

3. Managing Threats and Challenges: The SWOT analysis also allowed me to anticipate
and address potential challenges, such as keeping up with the pace of tasks or the pressure of
unfamiliar technologies. This proactive approach helped me strategize effectively, ensuring
that I could adapt and learn continuously.

Overall, using a SWOT analysis during my internship provided a framework for self-
reflection, enabling me to take ownership of my learning journey, maximize growth, and
build a roadmap for future development.

1.4 Scope of the Internship


The scope of my internship at eTech Solutions was focused on enhancing my technical
skills, gaining real-world experience in software development, and contributing to ongoing
simple task within the team. As a computer engineering student, my primary responsibilities
revolved around front-end development, with an emphasis on using JavaScript and Angular.
The internship provided an opportunity to work on projects that required implementing new
features, fixing existing bugs, and improving the user interface of web applications.

The scope also included gaining exposure to agile development practices, where I
participated in sprint planning, daily stand-ups, and review meetings. This provided insights
into how software teams collaborate to achieve milestones effectively. Additionally, I learned
about the complete software development lifecycle—from understanding project
requirements to designing, testing, and deploying features.

The internship aimed to improve my technical skills, such as proficiency in JavaScript,


understanding Angular's core concepts, and using version control with Git. Beyond technical
skills, the internship also provided scope for developing essential soft skills, including
teamwork, communication, and time management. By collaborating with other developers
and engaging with mentors, I was able to build effective working relationships and improve
my ability to convey technical ideas clearly.

In summary, the scope of the internship covered both the technical and non-technical aspects
of software development, preparing me for the professional challenges ahead by giving me
hands-on experience, insights into industry practices, and opportunities to contribute to real
projects.

5
CHAPTER TWO

2.1 Overview of the Organization


About eTech
Ethiopian high-caliber IT professionals from all around the country and the world have
banded together to form a new company called ―eTech.‖ eTech is envisioned to provide an
end-to-end ethical technology solution to any business indiscriminately to all who needed any
technology solutions.

eTech Solutions is a technology-driven company specializing in software development,


digital transformation, and IT consulting services. With a focus on delivering high-quality
solutions, eTech Solutions serves clients across various industries, helping them modernize
their systems and adapt to changing technological needs. The company is known for its
innovative approach to software engineering, offering services that include web application
development, cloud solutions, and agile consulting.

During my internship, I experienced firsthand the collaborative and dynamic environment at


eTech Solutions. The company emphasizes teamwork and knowledge sharing, providing an
ideal space for learning and professional growth. Developers, designers, and project
managers work closely together to ensure the seamless delivery of software projects that meet
clients' business goals.

eTech Solutions places a strong emphasis on using modern tools and technologies. As part of
the development team, I primarily worked with JavaScript and Angular, which are core
technologies in many of the company’s web development projects. The company’s focus on
agile methodologies also meant that I was exposed to practices such as iterative development,
frequent code reviews, and continuous feedback, which are crucial in producing high-quality
software.

In addition to technical skills, eTech Solutions fosters a culture of continuous learning,


encouraging both interns and full-time employees to improve their skill sets. The supportive
work culture, paired with challenging projects, made eTech Solutions an ideal place for me to
enhance my understanding of software development while contributing to impactful projects.

Overall, eTech Solutions is committed to building innovative solutions and cultivating talent,
making it a great place for interns to gain real-world experience and develop professionally.

Founding of eTech

6
The idea of eTech was officially conceived on May 16, 2020, when the founding members,
including ten technological experts, held their first virtual meeting. At the time, the world
was grappling with the global COVID-19 1ipandemic, and the meeting addressed how eTech
could support Ethiopians, particularly those in rural areas.
One of the primary goals was to explore ways to assist communities with limited access to
essential resources such as food, banking services, and markets, as well as those working
under difficult economic condition.
The founding members of eTech believed in using technology as a force for good,
envisioning solutions that could address the challenges of rural communities by improving
access to critical services and empowering underserved populations. This focus on social
responsibility sets eTech apart, as it aims not just for technological excellence, but for making
a positive impact on society.

2.2 Mission and Vision


The major mission create a border less ICT expertise Ecosystem to do ethical end to end
business anywhere. eTech’s mission is to provide comprehensive ICT solutions that cater to
the needs of businesses, irrespective of size or sector. Their services span the entire spectrum
of technology solutions, enabling businesses to adopt and leverage the latest technological
advancements. With a core commitment to ethical business practices, eTech believes in
creating technology solutions that are transparent, fair, and beneficial to both companies and
their customers.

To be pioneer in providing integrated ethical Technology solution in Ethiopia and a


noticeable player in the world by2030. By fostering an environment of collaboration and
ethical conduct, eTech is poised to play a pivotal role in Ethiopia’s journey toward becoming
a technology-driven economy. The company’s vision aligns with Ethiopia’s goal of
embracing digital transformation and providing access to technology for all citizens,
especially those in rural areas who are often left behind by rapid urbanization and
technological development.

2.3 Commitment to Ethical Business Practices


A core value of eTech is its dedication to ethical business practices. This commitment
means that eTech not only delivers cutting-edge technology solutions but does so with a
focus on integrity, transparency, and mutual benefit. The company's goal is to help build trust
between businesses and their customers, fostering long-term relationships based on mutual

7
respect and understanding. eTech's ethical approach sets it apart in a business landscape
where short-term gains often overshadow long-term trust.

Major Activities at eTech

During my internship at eTech Solutions, I was involved in a variety of activities that


exposed me to both technical aspects of software development and the broader workflow of
an IT organization. These activities ranged from coding and debugging to team collaboration
and participating in agile practices, all of which contributed to my understanding of the
software development process.

1. Front-End and backend Development Using JavaScript and Angular


One of my major responsibilities at eTech Solutions was front-end development, focusing
on JavaScript and Angular. My tasks included creating and enhancing user interfaces for
web applications, implementing new features, and ensuring an optimal user experience.
Working with Angular provided me with hands-on experience in using components,
services, directives, and reactive forms to build robust, scalable applications. These
activities helped me improve my skills in JavaScript and understand how frameworks like
Angular contribute to building dynamic, single-page applications.

2. Bug Fixing and Troubleshooting


Another major activity involved identifying and fixing bugs within existing systems. This
required an in-depth analysis of the codebase, understanding the root cause of the issues,
and working towards efficient solutions. Through this activity, I learned how to navigate
through large projects, make modifications without introducing new problems, and write
clean, maintainable code. I also gained significant experience in using browser developer
tools for debugging and troubleshooting issues effectively.

3. Version Control with Git


Version control is a critical aspect of modern software development, and I actively used
Git throughout my internship. I was involved in branching, merging, creating pull
requests, and conducting code reviews. By working on different features and integrating
them with the main project, I learned how to manage a codebase collaboratively and
resolve conflicts efficiently. This experience gave me a strong understanding of Git
workflows and best practices, which are essential for any team-based development
project.

8
4. Agile Development Practices
eTech Solutions followed agile methodologies, and as an intern, I actively participated in
agile processes. This included attending daily stand-up meetings, participating in sprint
planning, and contributing to retrospective discussions. These activities taught me how
software projects are managed iteratively, how tasks are broken down into smaller units,
and how the team collaborates to meet goals within specific timeframes. I also worked
with tools like Jira for task management, helping me understand how work is tracked and
prioritized in agile environments.

5. Code Reviews and Mentorship


Receiving feedback through code reviews was an integral part of my development. Senior
developers reviewed my work, providing constructive feedback that improved my
understanding of best coding practices, design patterns, and performance optimizations.
These code reviews helped me understand how to write cleaner, more efficient, and easily
readable code. I also had the opportunity to observe how experienced developers
approached problem-solving, which significantly enriched my learning.

6. Learning Sessions and Knowledge Sharing


eTech Solutions encouraged learning and knowledge sharing, and I participated in several
learning sessions conducted by senior team members. These sessions covered a range of
topics, including software architecture, advanced JavaScript concepts, and best practices
for web development. Additionally, there were informal discussions where team members
shared their experiences and technical insights, which helped me stay updated on industry
trends and practices.

7. Collaboration with Cross-Functional Teams


I also had the opportunity to work closely with cross-functional teams, including backend
developers, designers, and testers. This collaboration was crucial in understanding how
different components of a software system integrate and work together to provide a
seamless experience. Working with backend developers helped me understand how APIs
were designed and consumed, while collaborating with designers gave me insights into
the importance of user experience (UX) and user interface (UI) design.

8. Project Documentation
Documenting the work I did, such as feature implementation details and technical
challenges encountered, was also an important part of my activities. Documentation is
essential to ensure that future team members can understand the purpose and functionality

9
of the code. By writing documentation, I improved my ability to convey technical
information clearly and effectively, making it easier for others to understand the code and
processes I worked on.

9. Testing and Quality Assurance


Another important activity involved testing the features that I developed or modified. I
conducted unit tests and collaborated with testers to perform integration and user
acceptance tests (UAT) to ensure that the application functioned as intended. This
experience provided me with an understanding of the importance of software quality
assurance and how thorough testing contributes to a stable product.

10. User Interface Improvement


Improving the existing user interfaces was another activity I was involved in. Based on
user feedback and project requirements, I made enhancements to ensure the application's
usability and responsiveness. This involved making adjustments to layout, styling using
CSS, and ensuring that the UI worked well across different devices and browsers.

 Overall, the activities at eTech Solutions covered the complete spectrum of the
software development process, from requirement analysis to feature development,
testing, and deployment. These experiences helped me develop a solid foundation in
both technical and soft skills, making the internship a holistic learning experience
that has prepared me for future challenges in software engineering.

2.4 Products and Services at eTech


eTech Solutions is a technology-driven company offering a diverse range of products and
services to cater to the evolving needs of businesses in various industries. The company’s
expertise lies in providing innovative software solutions, digital transformation services, and
IT consulting to help organizations leverage technology for growth and efficiency. Below is
an in-depth look at the major products and services provided by eTech Solutions:

 Custom Software Development


One of the core offerings at eTech Solutions is custom software development. The
company designs, develops, and deploys software solutions tailored to the specific
needs of its clients. By understanding the unique requirements of each business,
eTech Solutions delivers end-to-end software development services that encompass
everything from requirement analysis and architecture design to development,
testing, and deployment. The emphasis is on creating scalable, secure, and high-

10
performing applications that solve complex business problems. The technologies
employed span a wide range, including JavaScript, Angular, Python, .NET, and
more, allowing eTech Solutions to create diverse solutions ranging from web and
mobile applications to desktop software.

 Web Application Development


Web application development is a key service area at eTech Solutions. The company
has extensive experience building responsive, user-friendly, and efficient web
applications for clients across multiple domains. Leveraging technologies like
Angular, React, and Vue.js, the team at eTech develops dynamic front-end user
experiences, paired with powerful back-end solutions utilizing Node.js, Python, and
cloud-based databases. The goal is to create interactive, feature-rich web applications
that can handle high user loads and offer seamless integration with other services,
ultimately enhancing the business processes and customer engagement of their
clients.

 Mobile Application Development


With the growing demand for mobile solutions, eTech Solutions also specializes in
developing mobile applications for Android and iOS platforms. The team uses
technologies like React Native and Flutter to create cross-platform mobile
applications that provide consistent performance and user experience across devices.
eTech Solutions works closely with clients to build applications that address specific
business requirements, such as enterprise resource planning (ERP), customer
relationship management (CRM), e-commerce solutions, and on-demand services.

 Cloud Solutions and Deployment


Cloud solutions are an integral part of eTech Solutions' services. The company assists
clients in transitioning to cloud infrastructure, enabling them to benefit from
scalability, cost efficiency, and enhanced data security. eTech Solutions works with
cloud providers such as AWS, Microsoft Azure, and Google Cloud to offer services
like cloud migration, infrastructure setup, server management, and ongoing
maintenance. By utilizing cloud-native technologies and architectures, the company
helps clients scale their infrastructure as their business grows and reduce their
dependence on traditional on-premises data centers.

 IT Consulting and Digital Transformation


eTech Solutions provides IT consulting services aimed at helping businesses harness

11
technology effectively. The company's consultants work closely with clients to
understand their business challenges, analyze existing systems, and propose
technology-driven solutions that lead to improved productivity and competitiveness.
Digital transformation services are a major focus, where eTech Solutions aids
organizations in modernizing their legacy systems, automating manual processes, and
adopting cutting-edge technologies such as artificial intelligence (AI), Internet of
Things (IoT), and machine learning to drive business innovation.

 UI/UX Design and Prototyping


A crucial part of building any software solution is creating a well-designed, user-
friendly interface. eTech Solutions has a dedicated team that provides UI/UX design
services, focusing on delivering intuitive, aesthetically pleasing, and responsive user
interfaces. The design process involves extensive prototyping and user testing to
ensure that the final product meets user needs and expectations. This design-focused
approach helps in enhancing the overall user experience, making the products more
engaging and efficient for end users.

 Quality Assurance and Testing Services


eTech Solutions also offers quality assurance (QA) and testing services to ensure that
their products and client solutions meet high standards of performance, reliability,
and security. The QA team employs both manual and automated testing
methodologies to identify and resolve bugs, performance issues, and security
vulnerabilities. Services include functional testing, load testing, regression testing,
and user acceptance testing (UAT), which are critical to delivering a stable and
reliable product. Testing is integrated throughout the development process, following
the principles of DevOps, to ensure continuous delivery and high-quality software
releases.

 Maintenance and Support Services


To ensure that the software solutions continue to function smoothly after deployment,
eTech Solutions offers ongoing maintenance and support services. These services
include regular updates, performance optimizations, security patches, and addressing
any issues that arise in the live environment. The goal is to provide clients with peace
of mind, knowing that their systems are being monitored and maintained to ensure
optimal performance and security.

12
 Enterprise Solutions
eTech Solutions also specializes in developing enterprise-level software solutions
tailored to the unique needs of large organizations. These solutions can include
enterprise resource planning (ERP) systems, customer relationship management
(CRM) tools, and supply chain management (SCM) systems. The team works with
businesses to create integrated platforms that streamline operations, enhance
productivity, and provide real-time insights through powerful analytics and data
visualization capabilities.

 DevOps and Automation Services


To improve the efficiency of the software development lifecycle, eTech Solutions
provides DevOps and automation services. By implementing continuous integration
and continuous delivery (CI/CD) pipelines, the team ensures that new features and
updates can be released quickly and with minimal errors. Automation tools are used
to streamline repetitive tasks, thereby reducing the workload for developers and
ensuring that software is released faster and with higher quality.

In conclusion, eTech Solutions offers a comprehensive range of products and services


designed to meet the varied needs of modern businesses. From custom software development
and web/mobile applications to cloud solutions, IT consulting, and support, eTech Solutions
provides end-to-end solutions that help clients navigate digital transformation, streamline
processes, and create impactful software products. The company’s commitment to leveraging
the latest technologies and methodologies ensures that clients receive innovative, scalable,
and future-proof solutions.

2.5 Organizational Structure and Hierarchy at eTech


The organizational structure at eTech Solutions is designed to promote collaboration,
efficient project management, and a clear chain of command while maintaining an open
culture where innovation and ideas are encouraged from all levels. The company follows a
combination of functional and project-based hierarchies, which helps in handling multiple
projects effectively while maintaining clear roles and responsibilities. Below is a breakdown
of the organizational structure and hierarchy at eTech Solutions:

1. Senior Management
The senior management team at eTech Solutions oversees the strategic direction of the
company. It consists of key decision-makers who ensure that the company meets its business

13
objectives while staying aligned with industry trends and technological advancements. This
level includes:

 Chief Executive Officer (CEO): Responsible for the overall leadership, strategic
direction, and performance of the company.

 Chief Technology Officer (CTO): Focuses on technology strategy, ensuring the


technical vision aligns with business goals.

 Chief Operating Officer (COO): Manages day-to-day operations, ensuring that all
departments are functioning efficiently and effectively.

2. Department Heads/Directors
Each functional department at eTech Solutions is led by a department head or director who
oversees operations in their specific domain. These roles include:

 Director of Software Development: Leads the development teams, sets goals for
software delivery, and ensures adherence to development standards.

 Director of Quality Assurance: Ensures that all products meet quality standards,
oversees the QA teams, and manages testing processes.

 Director of Product Management: Oversees product strategy and works closely


with clients to understand requirements and translate them into actionable
development tasks.

 Director of Sales and Marketing: Responsible for business development, client


relations, and promoting the company’s services and products.

3. Project Managers
Project managers are responsible for managing specific projects within eTech Solutions.
They are key players in the agile process, planning sprints, coordinating with development
teams, and ensuring that projects stay on track in terms of budget, schedule, and quality.
Project managers work closely with both clients and internal teams to define requirements,
set goals, and manage communication.

4. Team Leads
Team leads play a crucial role in managing the day-to-day activities of the development and
QA teams. They provide guidance to junior developers, ensure that development standards
are met, and help resolve any technical challenges that arise. Team leads often serve as the

14
bridge between developers and project managers, ensuring that tasks are assigned correctly
and delivered on time.

5. Development Teams
The development teams consist of software engineers with different levels of expertise:

 Senior Developers: Senior developers are responsible for designing system


architecture, mentoring junior team members, and solving complex technical
challenges. They are also involved in code reviews and help set technical guidelines
for projects.

 Mid-Level Developers: Mid-level developers focus on feature development,


implementation of business logic, and working closely with senior developers to
ensure quality delivery.

 Junior Developers: Junior developers assist in the implementation of less complex


features, bug fixing, and gaining experience under the guidance of senior team
members and team leads.

6. Quality Assurance Team


The QA team is responsible for testing all features and products before they are delivered to
clients. This team is led by the Director of Quality Assurance and is composed of:

 QA Leads: QA leads manage testing teams, create test plans, and ensure adherence to
quality standards.

 QA Engineers/Testers: QA engineers perform manual and automated testing to


identify bugs, performance issues, and ensure all deliverables meet the specified
requirements.

7. UI/UX Design Team


The UI/UX team is responsible for designing user-friendly and aesthetically appealing
interfaces for the company’s software products. They work closely with both product
managers and developers to ensure that the user interface meets user expectations and that the
product delivers a seamless experience.

8. Product Managers and Business Analysts


Product managers and business analysts play a key role in translating client requirements into
actionable tasks for the development team. They are responsible for communicating with

15
clients, understanding their needs, and ensuring that the project scope is well-defined. They
also help prioritize features and ensure that the final product meets client expectations.

9. IT Support and DevOps


The IT support and DevOps teams handle system infrastructure and deployment processes.
They ensure that the development environment, testing environment, and production systems
are functioning smoothly. The DevOps engineers are responsible for setting up continuous
integration/continuous deployment (CI/CD) pipelines, ensuring that code is tested and
deployed automatically and efficiently.

10. Human Resources and Administration


The HR and administrative teams manage recruitment, employee relations, onboarding, and
internal training programs. They ensure that all employees are well-supported, that company
policies are maintained, and that the organizational culture is upheld.

2.6 The organizational structure of the company can be depicted as shown

16
Chief Executive
Officer (CEO):

Project
Department Managers
Heads/Directors

Team Leads

Quality
Assurance Team
Development
Team

UI/UX Designe
team Product Manager

IT Support
Human
Resources

17
CHAPTER THREE
3. What I have learned ?
3.1 Duration of internship.
My internship at eTech Solutions spanned a period of four months, beginning on May 1st
and concluding on August 30th. During this period, I had the opportunity to immerse myself
in various task, apply theoretical knowledge in practical settings, and gain hands-on
experience primarily with JavaScript and Angular. The internship provided a structured yet
flexible timeframe, allowing me to grow both technically and professionally."

3.2 Departments Assigned


During my internship at eTech Solutions, I was assigned to the Frontend Development
department, where I primarily worked with JavaScript and Angular. My responsibilities
included building and enhancing user interfaces, ensuring responsiveness, and optimizing the
overall user experience. The department emphasized the development of dynamic and
intuitive web applications, allowing me to work closely with experienced frontend
developers. This assignment provided me with an in-depth understanding of the tools, best
practices, and collaboration involved in modern web development, with a particular focus on
using Angular as a framework to create seamless and efficient client-side applications.

3.3 List of Activities Performed


1. Developing User Interfaces with HTML and CSS:
I was actively involved in developing the visual structure of the web applications using
HTML and CSS. This included creating semantic HTML elements to ensure well-structured
content, designing layouts using CSS Grid, and applying styling for a consistent and
appealing user experience. I worked on ensuring that all visual components met the design
specifications and maintained a cohesive look throughout the application.

2. Writing JavaScript for Interactivity:


JavaScript played a key role in adding interactivity to the web applications. I wrote
JavaScript functions , such as button clicks, form submissions, and data validation. This
included dynamically updating the content on the page, manipulating the DOM to add or
remove elements based on user interactions, and creating smooth animations to enhance the
user experience.

18
3. Angular Component Development:
As part of the frontend development, I used Angular to build components for the web
application. These components were developed to be reusable and modular, breaking down
the UI into smaller, maintainable parts. I also worked on Angular's template syntax, which
involved data binding, looping through dynamic data, and managing state within the
components.

4. API Integration and Data Handling with Angular Services:


Using Angular services, I worked on integrating RESTful APIs to handle data exchanges
between the frontend and the backend. These tasks helped me understand client-server
communication and how data flows between different parts of an application.

5. Creating Responsive Designs Using CSS:


I used CSS media queries to make sure that the applications were responsive across various
screen sizes. The goal was to create a user-friendly experience for both mobile and desktop
users. This involved testing and adjusting layouts to accommodate different devices and
ensuring that all elements were aligned and scaled properly.

6. Form Validation and User Feedback with JavaScript and Angular:


I implemented client-side form validation using both JavaScript and Angular's reactive forms
module. This involved adding validation rules to ensure that users provided correct
information, giving real-time feedback through error messages, and maintaining a smooth
flow for users when submitting forms.

7. Debugging and Troubleshooting Frontend Issues:


Throughout the development process, I used browser developer tools to identify and fix
issues related to JavaScript, HTML, and CSS. Debugging involved checking JavaScript
errors in the console, inspecting HTML elements to resolve alignment issues, and tweaking
CSS to ensure compatibility across browsers.

8. Implementing Angular Directives and Pipes:


I explored Angular-specific features, such as directives and pipes. I used built-in directives
like *ngIf and *ngFor to control the display of elements based on conditions and loops.
Additionally, I implemented custom pipes to format data like dates and currency, which
improved data presentation within the application.

9. Collaboration Using Git:


Throughout the internship, I used Git for version control, which allowed me to collaborate

19
with other developers effectively. My activities included creating branches for new features,
committing changes, and merging code with the main repository. I also resolved merge
conflicts when working on shared files, gaining valuable experience in managing code
changes in a team environment.

10. Participating in Code Reviews and Learning Best Practices:


I took part in code reviews where my code was reviewed by senior developers, and I also
reviewed code written by other team members. This helped me learn best practices for
JavaScript, Angular, and CSS. I gained insights into writing clean, maintainable code and
improved my skills in understanding and critiquing other developers' work constructively.

11. Learning Angular Modules and Routing:


I worked with Angular modules to organize the application into logical sections, improving
code maintainability. I also implemented routing to allow navigation between different pages
of the application without a full page reload. This helped me understand the concept of
single-page applications (SPAs) and the role of Angular's router in managing application
views.

These activities gave me a comprehensive experience in building modern, interactive web


applications. I strengthened my skills in JavaScript, HTML, and CSS, while also becoming
comfortable with the Angular framework and its powerful features for building scalable
frontend solutions.

Overall Experience
My internship at eTech Solutions was a highly enriching and transformative experience that
allowed me to grow as both a professional and an aspiring software developer. Spanning
from May to August, this internship offered me an opportunity to work in a real-world
software development environment where I could apply my academic knowledge to practical
problems, learn from experienced professionals, and gain a comprehensive understanding of
the technology industry.

Hands-On Learning in Frontend Development: The internship was focused on frontend


development, with a primary emphasis on JavaScript, HTML, CSS, and the Angular
framework. I had the chance to work on several projects involving dynamic and interactive
user interfaces, which helped me understand the intricacies of user-centered design. My tasks
included building new features, debugging, and ensuring responsiveness, which provided me
with a well-rounded experience in web development.

20
I gained extensive experience with Angular, learning about its component-based architecture,
data binding, services, and routing. The hands-on experience with JavaScript also helped me
improve my understanding of the language, particularly in manipulating the DOM, handling
events, and writing asynchronous code.

Collaborative Team Environment: One of the most valuable aspects of my experience was
the exposure to teamwork and collaboration. I was assigned to a team of frontend developers
who were very supportive and willing to guide me whenever I faced challenges. Participating
in team meetings, stand-ups, and code reviews gave me a taste of agile development practices
and highlighted the importance of effective communication in a software project. Through
these interactions, I gained an understanding of how tasks are divided, dependencies
managed, and how critical feedback is provided constructively.

Mentorship and Guidance: Throughout the internship, I had the opportunity to receive
guidance from senior developers who acted as my mentors. They not only provided technical
guidance but also shared insights into industry standards, best practices, and common pitfalls
in software development. The mentorship I received made me more confident in my coding
skills and introduced me to new ways of thinking about software architecture and problem-
solving.

Challenges and Learning Opportunities: The journey was not without challenges. I faced
difficulties initially in understanding the complexities of the Angular framework and
debugging certain aspects of the application. However, these challenges proved to be some of
the most rewarding experiences, as they pushed me to research independently, seek help
when needed, and learn to think critically about software solutions. I learned that
development involves much trial and error, and the ability to persevere through obstacles is a
critical skill.

One notable challenge I faced was working with APIs, especially in handling errors and edge
cases effectively. Through debugging and collaborating with the backend team, I developed a
better understanding of how frontend and backend systems interact, and how to ensure that
data flows seamlessly between them to provide a smooth user experience.

Technical and Soft Skill Development: Technically, I gained expertise in Angular, learned
how to integrate APIs, and strengthened my understanding of JavaScript and CSS. I also
became familiar with using Git for version control, which is an essential skill for working in a
team-based software project. In addition to the technical skills, my communication and

21
teamwork abilities improved significantly, as I was involved in discussions, presentations,
and reviews with team members.

Moreover, working in a professional setting taught me how to manage my time effectively,


prioritize tasks, and meet deadlines. These soft skills, which are crucial for any successful
career, were honed throughout the internship period.

Contribution to Real task: Being able to contribute to some task was extremely fulfilling. I
took part in building user interface components that were actually used in a product,
providing me with a sense of accomplishment and a clear understanding of how my work was
adding value. The satisfaction of seeing my code become a part of a working application was
a key highlight of the internship, reinforcing my passion for frontend development.

Exposure to Industry Practices: I gained exposure to various aspects of software


development beyond coding, such as testing, quality assurance, and documentation. Writing
unit tests and performing manual testing of the features I developed gave me an
understanding of the importance of quality and reliability in software. Additionally,
contributing to documentation helped me appreciate its role in making the codebase easier for
others to understand and maintain.

Conclusion: Overall, my internship at eTech Solutions was an invaluable learning experience


that solidified my foundation in frontend development and gave me a firsthand view of the
software development lifecycle. It taught me not only the technical skills needed to be a
successful developer but also the importance of collaboration, adaptability, and continuous
learning. The supportive environment and challenging tasks helped me grow, and the
exposure I received has undoubtedly set a strong foundation for my future career in software
development.

I am grateful for the mentorship and experiences I had during this time, as they have given
me the confidence and skills to take on more advanced challenges in the field. I am excited to
continue my journey in software development, armed with the lessons and experiences from
my internship at eTech Solutions.

22
CHAPTER FOUR
4. Challenge and Contribution (project)
4.1 challenges and contribution
Challenges in Your Internship at eTech Solutions and How to Overcome Them

1. Learning and Mastering JavaScript and Angular

o Challenge: JavaScript is a dynamic, multi-paradigm language that requires


understanding of concepts like closures, event-driven programming, and
asynchronous code. Angular, being a complex framework, introduces
additional concepts like components, data binding, services, and TypeScript,
which can feel overwhelming for someone new to it.

o How to Overcome:

 Break It Down: Break down the learning process into smaller,


manageable parts. Focus first on core JavaScript concepts, and then
gradually move to TypeScript and Angular. For example, start by
mastering JavaScript functions and arrays before moving on to
Angular components.

 Use Online Resources: Leverage online tutorials, courses, and official


documentation. Platforms like Codecademy, MDN Web Docs, and the
Angular documentation can be invaluable. Udemy, Pluralsight, or
YouTube also provide comprehensive courses.

 Practice Daily: Code consistently, even if it's just small components


or simple features. Hands-on practice is the best way to solidify your
understanding.

 Ask for Mentorship: Seek guidance from a senior developer or


mentor. Don’t hesitate to ask questions, even about seemingly basic
things—they will speed up your learning curve.

2. Understanding an Existing Codebase

o Challenge: Familiarizing yourself with an existing, possibly large and


complex codebase can be overwhelming. Understanding the structure,

23
identifying how different components interact, and making changes without
breaking anything is a big challenge for new developers.

o How to Overcome:

 Start Small: Start by understanding the basic structure of the


application. Explore the folder hierarchy, look at key files like
app.module.ts in Angular, and follow how components are connected.

 Debugging Walkthroughs: Use the browser’s developer tools to step


through the code. Place breakpoints and explore how data moves
through different components.

 Read Documentation and Comments: Check for existing


documentation and in-code comments to understand the purpose of
each module or function.

 Pair Programming: Work with other developers to understand how


they navigate and understand the code. Pair programming allows you
to learn not only the project specifics but also good practices.

3. Adapting to Team Dynamics and Tools

o Challenge: Each company has its own set of tools for project management
collaboration (like Slack), and version control (like Git). Learning to use these
tools efficiently while adapting to team culture and workflows can be difficult.

o How to Overcome:

 Hands-on Practice: Spend time learning these tools through practice.


Participate actively in using these platforms. Practice Git commands in
a separate repository to get comfortable with commits, branching, and
merging.

 Documentation and Training: Most tools have extensive


documentation or video tutorials available. Take some time to go
through these resources to understand the basics and some advanced
features.

 Observe and Adapt: Pay attention to how others use these tools
during standups or meetings. Mimicking the team's workflows will
help you quickly adjust to their practices.

24
 Communicate Openly: If you’re unfamiliar with a process or tool,
communicate that with your supervisor or team members. Usually,
colleagues are more than happy to offer a quick run-through.

4. Adapting to Team Dynamics and Tools

o Challenge: Each company has its own set of tools for project management
collaboration (like Slack), and version control (like Git). The need to manage
multiple responsibilities efficiently while meeting deadlines can feel
overwhelming.

o How to Overcome:

 Time Management Tools: Use tools like daily planning to track your
tasks and their progress. Break large tasks into smaller, actionable
items.

 Set Priorities: Understand what’s important and what’s urgent. Speak


to your supervisor to clarify which tasks should take precedence and
what timelines you’re working with.

 Plan Daily and Weekly: Set daily goals and review your progress
each week. Create a to-do list every morning that contains specific
items to complete by the end of the day.

 Avoid Multitasking: Focus on one task at a time, especially when


learning a new concept. This can significantly improve the quality of
your work and learning speed.

5. Debugging and Problem-Solving

o Challenge: Debugging JavaScript code, especially in a framework like


Angular, can be challenging because of the complex state management, async
operations, and intricate DOM manipulation.

o How to Overcome:

 Developer Tools Proficiency: Get comfortable with browser


developer tools, especially the console, network, and sources tabs.
Understand how to set breakpoints, use the console for testing, and
track HTTP requests.

25
 Console Logging: Strategically use console.log() statements to
understand data flow through your application.

 Online Debugging Platforms: Platforms like Stack Overflow are


great places to ask questions if you're stuck on a problem.
Additionally, search for similar issues—someone else might have
faced the same problem.

 Rubber Duck Debugging: Explain the problem out loud, either to a


colleague or even to an imaginary "rubber duck." This process helps
clarify your thought process and often leads to finding a solution.

Contributions(task) During Your Internship at eTech Solutions

Task 1: RGB Color Generator


Description:
This application generates a random RGB color value each time the user clicks a button. The
RGB values are displayed, and the background color of the page changes to the generated
color.

Key Features:
 Randomly generates RGB values.
 Displays the RGB values (e.g., rgb(255, 99, 71)).
 Updates the background color based on the generated RGB values.

Technologies Used:
 HTML for structure
 CSS for styling
 JavaScript for functionality (random number generation and DOM manipulation)

Code Snippet:
javascript
Copy code
function generateRGB() {
const r = Math.floor(Math.random() * 256);
const g = Math.floor(Math.random() * 256);
const b = Math.floor(Math.random() * 256);
document.body.style.backgroundColor = `rgb(${r}, ${g}, ${b})`;
document.getElementById('rgb-value').innerText = `RGB(${r}, ${g}, ${b})`;
}

Task 2: Loan Calculator

26
Description:
This application calculates loan payments based on the loan amount, interest rate, and the
loan term entered by the user.

Key Features:
 Takes loan amount, interest rate, and years as inputs.
 Calculates monthly and total payments.
 Displays the results clearly to the user.

Technologies Used:
 JavaScript for mathematical calculations.
 HTML & CSS for UI elements.

Task 3: Counter App


Description:
A simple app that allows users to increase, decrease, or reset a counter value.

Key Features:
 Increase, decrease, and reset button.
 Display of the current counter value.

Technologies Used:
 HTML & CSS for layout and buttons.
 JavaScript for the logic behind counter updates.
Task 4: Get Unicode Value
Task 5: Tip Calculator
Task 6: Palindrome Checker
Task 7: Age Calculator
Task 8: BMI Calculator
This all of task are perfomed using javascript

General Tips to Overcome Challenges in Your Internship

 Stay Curious and Eager to Learn: Embrace curiosity, always be willing to learn,
and don’t shy away from challenging tasks even if you feel uncomfortable at first.
Tackling them is how you grow.

27
 Leverage Feedback: Accept and act on feedback provided by peers and mentors.
This can be invaluable for your development. Learn from mistakes and apply the
lessons in subsequent tasks.

 Network with Team Members: Building good relationships with team members can
provide a support network that will help you when facing challenging tasks. They can
share insights, give you shortcuts to learn things faster, and provide emotional
support.

 Celebrate Small Wins: Internships can be overwhelming, especially when you’re


trying to learn a lot in a short period. Celebrating small successes can keep you
motivated.

By understanding and addressing these challenges, you can turn them into opportunities for
growth, making meaningful contributions to your team at eTech Solutions. Your proactive
approach will not only help you overcome obstacles but also allow you to maximize your
internship experience.

28
CHAPTER FIVE
5. Recommendations and Conclusion

5.1 Overall Conclusions


1. Skill Development: During the internship at eTech Solutions, I significantly
improved my proficiency in JavaScript and gained hands-on experience in Angular.
Working on real-world task provided a deeper understanding of the frameworks,
tools, and best practices used in modern web development. This experience also
allowed me to better appreciate how JavaScript's versatility and Angular's robust
features contribute to building dynamic and responsive applications.

2. Industry Exposure: The internship gave me exposure to professional practices in


software development, including Agile methodologies, version control, and
collaborative coding practices. The insights I gained into the workflow of a tech
company—from planning and development to testing and deployment—helped me
understand the importance of communication, adaptability, and effective problem-
solving within a team context.

3. Teamwork and Collaboration: I realized the importance of teamwork and cross-


functional collaboration, which are essential in delivering successful projects. I had
the opportunity to work with senior developers who mentored me, provided
constructive feedback, and helped me tackle complex problems. I learned that asking
questions and seeking guidance is key to professional growth.

4. Project Management and Deadlines: Working within the timeline of an active


project showed me how critical time management is, especially when multiple tasks
are being managed simultaneously. I learned how to prioritize tasks effectively to
meet deadlines without compromising the quality of the code.

5. Real-World Problem-Solving: I encountered technical issues that required not only


technical skills but also creative problem-solving abilities. The internship experience

29
honed my debugging skills, strengthened my understanding of JavaScript
frameworks, and enabled me to find efficient solutions to common challenges
encountered in web development.

5.2 Recommendations for Future Internships:


1. Continuous Learning and Coding Practice: To further improve my skills, I
recommend continuing with consistent coding practice and exploring advanced
JavaScript concepts and features. Participating in coding challenges or contributing to
open-source projects can help reinforce the knowledge gained during the internship.

2. Angular Mastery: Given that Angular was a significant part of the experience, I plan
to delve deeper into more complex Angular topics, such as state management using
NgRx, implementing unit testing with Jasmine and Karma, and working with Angular
Material for enhancing user interfaces. This will make me more proficient and
capable of handling more challenging tasks in future projects.

3. Explore Back-End Development: To become a well-rounded full-stack developer, I


recommend exploring back-end technologies such as Node.js, Express.js, or other
server-side languages that complement JavaScript. Understanding the entire stack will
provide better insight into how front-end and back-end interact and will help in
building more comprehensive solutions.

4. Soft Skills Development: It is crucial to continue developing soft skills, such as


communication, time management, and teamwork, which are equally important as
technical skills in a professional setting. Engaging in group projects, taking leadership
roles, and actively participating in discussions can help enhance these competencies.

5. Networking and Mentorship: Establishing a strong professional network is key to


continued growth in the tech field. Staying in touch with the mentors and colleagues I
met during my internship could open doors for future opportunities. Additionally,
seeking out a mentor within or outside eTech Solutions can provide ongoing guidance
and support.

6. Stay Updated with Industry Trends: Technology is always evolving, so staying


updated with the latest trends, tools, and best practices in web development is crucial.

30
Following tech blogs, attending webinars, and participating in local developer
meetups can help maintain a competitive edge in the industry.

Summary
The internship at eTech Solutions was highly valuable, providing me with technical skills in
JavaScript and Angular as well as exposure to professional development practices. Moving
forward, my focus will be on enhancing these skills further, developing back-end knowledge,
refining my soft skills, and building a strong network for continued growth in the tech
industry. The lessons learned here will undoubtedly shape my approach to problem-solving
and teamwork in future opportunities.

31
References
Angular Library Angular - Creating libraries
CSS Library Bootstrap. (2024). Bootstrap documentation. Retrieved from
https://getbootstrap.com/docs
Doe, A. (2024). JavaScript essentials for beginners [Online course]. Udemy.
https://www.udemy.com/course/javascript-essentials-for-beginners/
Haverbeke, M. (2018). Eloquent JavaScript: A Modern Introduction to Programming. 3rd ed.
No Starch Press
Smith, J. (2024). Learn Angular from scratch [Online course]. Udemy.
https://www.udemy.com/course/learn-angular-from-scratch/
JavaScript Library JavaScript Libraries and Frameworks - GeeksforGeeks
Seshadri, S. (2018). Angular Up & Running: Learning Angular, Step by Step. O'Reilly
Media.

32

You might also like