0% found this document useful (0 votes)
17 views

Up_Report_final_201902049

Md Asif Mahmud completed an industrial training report on Dot.Net Full-stack Development at Object Canvas Technology from May 25 to July 7, 2024, as part of his Bachelor of Science in Computer Science & Engineering. The report highlights his learning experiences, including software development tools and methodologies, as well as the skills he acquired during the training. It also includes acknowledgments to his mentors and a summary of the training activities and outcomes.

Uploaded by

Asif Mahmud 49
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)
17 views

Up_Report_final_201902049

Md Asif Mahmud completed an industrial training report on Dot.Net Full-stack Development at Object Canvas Technology from May 25 to July 7, 2024, as part of his Bachelor of Science in Computer Science & Engineering. The report highlights his learning experiences, including software development tools and methodologies, as well as the skills he acquired during the training. It also includes acknowledgments to his mentors and a summary of the training activities and outcomes.

Uploaded by

Asif Mahmud 49
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/ 49

GREEN UNIVERSITY OF BANGLADESH

Industrial Training
On
Dot.Net Full-stack Development

Submitted by
Md Asif Mahmud ( 201902049 )

An industrial training report submitted to the Department of Computer Science &


Engineering for the partial fulfillment of the degree of Bachelor of Science in
Computer Science & Engineering

TRAINING PLACE : Object Canvas Technology


House No 51, Darus-salam, Dhaka, Darussalam, 1216
TRAINING DURATION : 25 May 2024 to 07 July 2024
INDUSTRY MENTOR: Rizve Rahman Reza
ACADEMIC SUPERVISOR: Dr.Md.Mostafijur Rahman
REPORT DATE : 07 Aug 2024
Declaration

I state clearly that the only foundation for this training report is the product of my
own research.I understand that the only things that can make this industrial training
successful are my own performance and effort. It was through my own hard work and
talent that I finished my industrial training. Without a sure, I should give this industrial
training paper my full attention, skill, and understanding. I’ve also been informed that
this internship opportunity is unique.

Md Asif Mahmud
ID: 201902049

i
Certificate

This is to confirm that Md. Asif Mahmud completed and filed the industrial training
report, Acquired Pragmatic Knowledge of Software Development, on Aug 7, 2024, in
partial fulfilment of the requirements for the degree of Bachelor of Science in Computer
Science and Engineering.

Dr.Md.Mostafijur Rahman
Academic Supervisor

Accepted and approved in partial fulfillment of the requirement for the degree Bach-
elor of Science in Computer Science and Engineering.

DR. MUHAMMAD AMINUR MR. SAKHAOUTH HOSSAN


RAHAMAN
Chairman Member

MS. SHAMIMA AKTER


Member

ii
Acknowledgments

I sincerely appreciate the assistance and guidance I received from a number of peo-
ple during the training session, which ran from May 25, 2024, to July 7, 2024. They
provided direction and encouragement, which helped me finish the course success-
fully—especially when I ran across issues. Initially, I would want to express my grati-
tude to my faculty mentor, Dr.Md.Mostafijur Rahman (Associate professor, depart-
ment of CSE), who was always available to assist me. He has always helped me out
with my internship. Lastly, I would want to express my gratitude to Rizve Rahman
Reza (IT), my industrial supervisor, for his assistance and counsel in answering any
questions I had during my internship. He had been my mentor since the first day of
training. He was really willing to offer his experience, IT know-how, and expertise in
cutting-edge technology and business culture. I had a lot of issues during my train-
ing period, and he wasted time trying to help me with them.In conclusion, I express
my gratitude to Allah, my parents, and my relatives for their unwavering provision of
emotional, material, and other forms of support. They motivated and supported me to
quickly finish the training session, especially when I was having difficulties.

iii
Abstract

Within the framework of my industrial training course. I was employed as a trainee soft-
ware developer at Object Canvas Technology. I was able to learn about development
and how to handle actual.NET program during the training term. Numerous develop-
ment tools, such as SQL, SQL Server, Visual Studio, Git, and others, were presented
to me. I have experience working on several project components, such as creating the
menu and front page, testing, and troubleshooting the software. Additionally, I got to
work with other developers, which helped me become a better communicator and team
player.Thus, the information and abilities I have acquired from this training are likewise
emphasised and covered. The challenges we’ve encountered and how we’ve addressed
them. Thanks to this training, I am now fully qualified to work as a.NET developer in
the real world.

iv
TABLE OF CONTENTS

Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i

Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Introduction of object canvas technology . . . . . . . . . . . . 1
1.2 Company Profile . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1 Mission . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Vission . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.3 Company Values . . . . . . . . . . . . . . . . . . . 2
1.3 Motivation of Training . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Graphical representation of an organisation’s structure . . . . . 4
1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Specific details on training activities and report . . . . . . . . . . . . . 6


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Objective of Internship . . . . . . . . . . . . . . . . . . . . . 6
2.3 Theoretical and Practical Knowledge . . . . . . . . . . . . . . 7
2.3.1 Theoretical Knowledge: . . . . . . . . . . . . . . . 7

v
2.3.2 Practical knowledge: . . . . . . . . . . . . . . . . . 8
2.4 First Week . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . 9
2.4.2 Orientation and Onboarding . . . . . . . . . . . . . 9
2.4.3 Training Sessions . . . . . . . . . . . . . . . . . . . 10
2.4.4 Version Control with Git: . . . . . . . . . . . . . . . 10
2.4.5 Database Management with SQL Server: . . . . . . 11
2.4.6 Bug Fixing and Code Refactoring: . . . . . . . . . . 11
2.5 Learning Outcomes . . . . . . . . . . . . . . . . . . . . . . . 11
2.5.1 Technical Familiarity: . . . . . . . . . . . . . . . . 11
2.5.2 Adaptation to Workplace Culture: . . . . . . . . . . 11
2.6 Second Week . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.6.1 Cloning the Project Repository . . . . . . . . . . . . 15
2.6.2 Creating a Model, View, and Controller (MVC) . . . 16
2.6.3 HTML Helpers in MVC . . . . . . . . . . . . . . . 16
2.6.4 ViewBag in MVC . . . . . . . . . . . . . . . . . . . 16
2.7 Third Week . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.7.1 Creating Models, Controllers, and Views Using Tem-
pData Creating Models, Controllers, and Views: . . 18
2.7.2 Using TempData for Data Transfer: . . . . . . . . . 19
2.7.3 Implementing Routing in MVC Understanding Rout-
ing: . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.7.4 Passing Data from View to Controller Data Flow
from View to Controller: . . . . . . . . . . . . . . . 21
2.7.5 Learning Outcomes Mastery of MVC Data Handling: 23
2.8 Fourth Week . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.8.1 Creating Layouts in MVC Understanding Layouts
in MVC: . . . . . . . . . . . . . . . . . . . . . . . 23
2.8.2 Creating a Basic Layout: . . . . . . . . . . . . . . . 23
2.8.3 Creating Multiple Layouts in MVC . . . . . . . . . 24

vi
2.9 Fifth Week . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.9.1 Creating Entity Framework in MVC . . . . . . . . . 26
2.9.2 Connect with Database and Save Data in Database . 27
2.9.3 Overall Conclusion . . . . . . . . . . . . . . . . . . 27

3 Acquire Skills During Industrial Training . . . . . . . . . . . . . . . . 28


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2 Technical Skills . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1 Programming Languages: . . . . . . . . . . . . . . 28
3.2.2 Tools and Technologies: . . . . . . . . . . . . . . . 29
3.2.3 Software Development Methodologies: . . . . . . . 30
3.2.4 Project Management Tools: . . . . . . . . . . . . . 30
3.3 Soft Skills . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.1 Communication: . . . . . . . . . . . . . . . . . . . 31
3.3.2 Teamwork: . . . . . . . . . . . . . . . . . . . . . . 31
3.3.3 Time Management: . . . . . . . . . . . . . . . . . . 31
3.3.4 Problem-Solving: . . . . . . . . . . . . . . . . . . . 32
3.4 Industry-Specific Knowledge . . . . . . . . . . . . . . . . . . 32
3.4.1 Understanding of the Software Development Life-
cycle (SDLC): . . . . . . . . . . . . . . . . . . . . 32
3.4.2 Exposure to Industry Standards and Best Practices: . 32
3.4.3 Domain-Specific Knowledge: . . . . . . . . . . . . 33
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.1 Summary of the Training Experience . . . . . . . . . . . . . . 34
4.2 Achieved Learning Outcomes . . . . . . . . . . . . . . . . . . 35
4.3 Challenges and Overcoming Them . . . . . . . . . . . . . . . 37
4.4 Impact on Future Career Plans . . . . . . . . . . . . . . . . . 37
4.5 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

vii
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

viii
List of Figures

1.1 ORGANOGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1 Visual Studio Installation . . . . . . . . . . . . . . . . . . . . . . . . 12


2.2 Visual Studio Front Page . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 New Project Creation . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 SQL Server Installation . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 SQL Server Connection . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6 SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.7 Create Model,View,Controller . . . . . . . . . . . . . . . . . . . . . 17
2.8 Create Model,View,Controller . . . . . . . . . . . . . . . . . . . . . 17
2.9 Create Model,View,Controller . . . . . . . . . . . . . . . . . . . . . 18
2.10 Create Model,View,Controller . . . . . . . . . . . . . . . . . . . . . 18
2.11 Using TempData to pass data . . . . . . . . . . . . . . . . . . . . . . 20
2.12 Using TempData to pass data . . . . . . . . . . . . . . . . . . . . . . 20
2.13 Data Flow from View to Controller . . . . . . . . . . . . . . . . . . . 22
2.14 Data Flow from View to Controller . . . . . . . . . . . . . . . . . . . 22
2.15 Create layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.16 Admin layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.17 User layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.18 Entity fremwork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.19 Connect with database . . . . . . . . . . . . . . . . . . . . . . . . . 27

ix
Chapter 1

Introduction

1.1 Introduction of object canvas technology


Md. Motiur Rahaman launched Object Canvas Technology in 2014, and it has grown
to become one of Bangladesh’s top IT firms. Specialising in software development,
Object Canvas Technology offers a broad range of management system online apps to
assist its clients and potential clients in realising their ideas. They also provide expert
assistance in building responsive websites that are aesthetically pleasing. Furthermore,
Object Canvas Technology offers proficiency in developing websites for the Internet and
e-commerce, in addition to developing software for inventory management and HR and
payroll. This all-inclusive RDlC reporting choice includes design, coding, and progress
reports throughout the duration of the project. Internships offer a unique chance for
individuals to gain practical experience, expand their knowledge in their chosen field,
and establish the foundation for future success in the workplace.

1.2 Company Profile


Object Canvas Technology enables you to avail services in Software development, Web
design and development. We are using all technology available to us to provide low
cost solutions, better services, and faster response times. We are committed to contin-
uous improvement in order to maintain customer services, quality of our products and

1
self-improvement. The team embraces growth by establishing targets and achieving
them. Our vision is to remain flexible and adaptable at all times,accepting change as
inevitable. Treating all our partners (customers, suppliers, and employees) like we want
to be treated, with respect and dignity is our axiom. We maintain profitability without
sacrificing our reputation and relationships. We are ensuring you that our products and
services are delivered as promised. At the end of the day our aspiration is to be the
number 1 provider of software development and IT supports in the field of Information
and Technology in Bangladesh.

1.2.1 Mission

The main vision of Object Canvas Technology is to offer the realistic knowledge for
software development and touch the milestone of creativity. Beside local market, Object
Canvas Technology successfully filling up the demand of international market. After
establishing Object Canvas Technology, the company quickly became one of the most
popular and well-respected makers of software development. By focusing on creating
well-designed, highly creative experiences, Object Canvas Technology has maintained
an unparalleled reputation for quality since its inception.

1.2.2 Vission

Object Canvas Technology has a rich number of clients who are really pleased with its
creativity, strength, quality, and service. The company has been designed on integrated
system of software development and website development wherein all the required in-
stallations / facilities are available within the company for producing the jobs up to final
stage uninterrupted power supply, favorable environment and ILO standard facilities,
and sufficient bandwidth for quick download and upload with another ISP as a backup.

1.2.3 Company Values

Object Canvas Technology always keeps it in the heart of its motto. Keeping its motto
in the right way, Object Canvas Technology continued its journey through shine and

2
showers, through pain and pleasure, barrier after barrier were crossed, and challenge
after challenge were faced and overcome to transform the Company from the small-
scale operation that was in 2014 to what it is today a conglomerate in its field with a
gang of creative personnel.

1.3 Motivation of Training


While there are many reasons why people may desire to take an internship, the follow-
ing are some common ones:

• Career Exploration:Internships offer a great chance to learn about other indus-


tries and career paths.

• Advancement of the Profession:Internships provide an opportunity to refine


professional skills relevant to a particular industry or business.

• Networking: Through internships, you can meet people in your sector and build
professional networks.

• Resume Enhancement: Relevant internship experience can make a big differ-


ence on a resume.

• Potential Job Offers : A lot of internships serve as a launching pad for future job
opportunities. Businesses often select exceptional interns who have exceptional
talents, dedication, and cultural fit.

• Skill Development: People can acquire new skills and talents through internships
that employers are interested in hiring.

1.4 Services
Object Canvas Technology serves clients globally as a leading supplier of IT services
and solutions. Within its hierarchical structure, Object Canvas Technology runs a

3
number of divisions, including software development, website development, and e-
commerce website creation, all in accordance with the business practices of top in-
ternational IT service providers.

• Website Development:The area of expertise for Object Canvas Technology is de-


veloping, building, and managing browser-based websites and web apps. Database
management, web design, and web development are all included.

• Software Development:This entails creating, implementing, and maintaining


software solutions that are customised to satisfy customer needs.

• Inventory Software:Inventory management system software, provided by Ob-


ject Canvas Technology, helps businesses maintain precise records of their stock
levels and sales figures. Order fulfilment, inventory control, and general sales
tracking are all streamlined.

• Real Estate:The company provides construction, property management, and con-


sulting services in addition to real estate development projects.

• E-commerce Website:The business creates e-commerce websites that meet the


unique requirements of customers, making it possible for goods to be sold online
smoothly.

1.5 Graphical representation of an organisation’s struc-


ture
Outlines the hierarchy and structure of different roles within the organization. Here’s a
breakdown:

• CEO: At the top of the hierarchy.

• Executive Director: Directly below the CEO.

• Marketing : Includes roles like Coordinator and Marketing Executives.

4
• Software Development : Includes Software Engineers and Assistant Software
Engineers.

• Website Development : Includes Chief Web Designer and Assistant Web De-
signer.

• Data Entry Department : Includes Data Administrative Officer, Data Monitor-


ing Officer, and Data Entry Operator.

• IT Training Department : Includes Chief Instructor and Instructors.

• HR and Finance Department : Includes Administration Officer and Accounts


Officer.

Each department has specific roles and responsibilities, indicating the reporting
structure and distribution of tasks within the company.

Figure 1.1: ORGANOGRAM

1.6 Conclusion
We looked at the specifics of the training in the previous chapter, including the goals,
the information that was learnt, and the difficulties that were faced.

5
Chapter 2

Specific details on training activities


and report

2.1 Introduction
The industrial training program at Object Canvas Technology provided an immersive
experience in .NET Full-stack Development, with a focus on C# programming.The cur-
riculum was designed to provide me with a thorough understanding of software de-
velopment’s front-end and back-end components. By means of a blend of supervised
instruction, practical assignments, and group projects, I improved my technical abilities
and acquired important knowledge about how an expert software development environ-
ment functions.
This chapter discusses the precise tasks I completed during the training, the goals of
the internship, and the information I gained from the program’s theoretical and practical
components.[1]

2.2 Objective of Internship


The key objectives of my internship at Object Canvas Technology were:

• To Develop Practical Coding Skills: improve my understanding of C# and.NET

6
technology with practical coding assignments.

• To Understand Full-Stack Development: Learn about the back-end and front-


end development methods in detail, as well as how they work together on a
project.

• To Apply Theoretical Knowledge: Connect theory and practice by applying


ideas from academic courses in a work environment.

• To Learn Industry Best Practices: I will become familiar with industry standard
practices such as version control, coding standards, and testing protocols.

• To Enhance Problem-Solving Abilities: Boost my capacity to troubleshoot and


fix technical problems in a practical development setting.

• To Gain Experience in Agile Development: Engage in Agile approaches to


learn about iterative development and teamwork, such as sprint planning, daily
stand-ups, and retrospectives.

• To Work on Live Projects: Participate in ongoing projects while learning the


subtleties of client communication, project management, and deadline compli-
ance.

• To Explore Cloud Technologies:Get familiarity with cloud computing platforms


such as Microsoft Azure, with an emphasis on web application deployment and
management.

2.3 Theoretical and Practical Knowledge

2.3.1 Theoretical Knowledge:

• Object-Oriented Programming (OOP): Encapsulation, inheritance, and poly-


morphism—three OOP tenets—were essential in helping to create modular, reusable
C# code.

7
• Database Theory: Relational database administration and optimisation using
SQL Server involved the application of concepts such as normalisation, indexing,
and transaction management.

• Web Development Fundamentals: My approach to developing web apps was


informed by my understanding of the foundations of web development, such as
HTTP protocols, RESTful services, and MVC design.

• Software Design Patterns: Having knowledge of design patterns like Factory,


Singleton, and Repository aided in the development of software that was both
manageable and scalable.

• Software Development Lifecycle (SDLC): Project management from inception


to deployment required an understanding of the stages of the Software Develop-
ment Life Cycle (SDLC), including planning, analysis, design, implementation,
testing, and maintenance.

2.3.2 Practical knowledge:

• C# Programming: Using C#, I created reliable applications by applying asyn-


chronous programming techniques, designing algorithms, and maintaining data
structures.

• ASP.NET Core: practical knowledge of building and implementing ASP.NET


Core online applications, including middleware configuration, routing, and Entity
Framework data management.

• Front-End Development: Through my experience, I was able to design respon-


sive and engaging user interfaces using front-end technologies such as HTML,
CSS, JavaScript, and frameworks like Angular or React.

• Database Management: Writing intricate queries, maximising database speed,


and managing data access with Entity Framework were all part of the practical
SQL Server work.

8
• Version Control with Git: I gained knowledge of branching techniques, merg-
ing conflict resolution, and working with teammates on shared repositories while
managing codebases with Git.

• Agile Methodology: Through my involvement in Agile development processes,


I was able to understand the value of iterative development, constant feedback,
and teamwork.

• Project Collaboration Tools: I utilised task management and communication


systems like JIRA and Microsoft Teams to gain a knowledge of how these plat-
forms facilitate efficient project collaboration.

2.4 First Week

2.4.1 Introduction

The first week of my industrial training at Object Canvas Technology served as an es-
sential introduction to the working environment, tools, and technologies I would be
using throughout the internship.This initial phase was crucial for laying the foundation
of my learning and ensuring that I was well-prepared to contribute to the projects as-
signed to me. The week involved onboarding processes, preliminary training sessions,
and initial hands-on tasks that set the stage for more advanced work in the following
weeks.

2.4.2 Orientation and Onboarding

• Introduction to the Company: I was introduced to the company’s structure,


culture, and the particular team I would be working with at the first orientation
session of the week. An overview of the main offerings of Object Canvas Tech-
nology, its place in the market, and the function of the.NET development team
inside the organisation were covered in this session.

9
• Onboarding Process: I received assistance setting up my workspace, configur-
ing the required software, and obtaining access to company systems during the
onboarding process. Installing Visual Studio, SQL Server Management Studio,
Git, and other necessary development tools was part of this process.

• Introduction to the Project: The project I would be working on during my


internship was explained to me. This includes being aware of the goals of the
project, the technologies at play, and the anticipated results. I was also given ac-
cess to the project’s current codebase, where my job was to study its organisation
and comprehend the fundamental operation of the program.

2.4.3 Training Sessions

• Introduction to .NET and C#: A series of introductory training courses centred


on the.NET framework and C# programming were held throughout the first week.
The purpose of these seminars was to reacquaint me with the company’s specific
coding standards and practices as well as to refresh my memory on them. Among
the subjects discussed were:

• Basic syntax and features of C#.

• Object-Oriented Programming (OOP) principles.

• Working with Visual Studio and debugging tools.

• Introduction to ASP.NET Core and its role in web development.

2.4.4 Version Control with Git:

• Basic Git commands such as clone, commit, push, pull, and merge.

• Branching strategies and best practices for managing code versions.

• Resolving merge conflicts and maintaining a clean project history.

10
2.4.5 Database Management with SQL Server:

Another key area of focus was SQL Server, where I was introduced to the database
schema used in the project. The training covered:

• Basics of SQL queries and database operations.

• Introduction to Entity Framework for data access in .NET applications.

• Techniques for optimizing queries and managing database connections.

2.4.6 Bug Fixing and Code Refactoring:

I had to address little flaws in the codebase as part of my first practical experience. My
goal in doing this exercise was to contribute to the project and help me become more
comfortable with the coding. I also followed the company’s coding standards while
restructuring the code to make it easier to read and maintain.

2.5 Learning Outcomes

2.5.1 Technical Familiarity:

I gained a strong foundation on the tools and technology I would use for the duration of
the internship during the first week. Through theoretical seminars and practical work, I
gained a strong understanding of C#, ASP.NET Core, SQL Server, and Git.

2.5.2 Adaptation to Workplace Culture:

The process of orientation and onboarding aided me in adjusting to the work environ-
ment at Object Canvas Technology. I learnt about the channels of communication and
team dynamics, which are essential for productive teamwork in a work environment.

11
Figure 2.1: Visual Studio Installation

Figure 2.2: Visual Studio Front Page

12
Figure 2.3: New Project Creation

Figure 2.4: SQL Server Installation

13
Figure 2.5: SQL Server Connection

14
Figure 2.6: SQL Server

2.6 Second Week

2.6.1 Cloning the Project Repository

Cloning the project repository from the company’s version control system was the first
task of the week. This was necessary in order to prepare to add new features and set up
my local development environment using the most recent version of the project.I used
Git to clone the repository, which involved fetching the entire project codebase from the
remote repository to my local machine.I cloned the repository and made a new branch
just for the feature I was going to work on. By following this procedure, I can be sure
that my work may be produced separately from the main codebase and then merged
later on without interfering with current work.After cloning the repository, I configured
the database connection, restored dependencies, and ran the application to make sure
everything was working properly before launching the project in my local development
environment.

15
2.6.2 Creating a Model, View, and Controller (MVC)

• Model Creation: Defining a model that serves as the application’s data struc-
ture was the first step in putting the new feature into practice. A model in this
context usually maps to a database table, with characteristics mapping to ta-
ble columns.The Entity Framework was then coupled with the model to make
database operations easier. To enable CRUD activities on the relevant table, this
required changing the DbContext class to add a DbSet for the new model.

• Controller Creation: The next step was to create a controller that would han-
dle HTTP requests related to the new model. The controller serves as an inter-
mediary between the view (user interface) and the model (data), processing in-
coming requests, performing operations on the model, and returning appropriate
responses.The controller included actions for handling GET and POST requests,
ensuring that data could be retrieved from the database, displayed to the user, and
modified as needed.

• View Creation: The final component was the creation of views, which are re-
sponsible for displaying data to the user and capturing user input. In ASP.NET
Core, views are typically written in Razor, a markup syntax that allows embed-
ding of C# code within HTML.

2.6.3 HTML Helpers in MVC

In ASP.NET MVC, HTML Helpers are functions that provide HTML content for a view.
By making the process of constructing form elements, links, and other HTML elements
simpler, these tools guarantee consistency and lower the possibility of errors in manual
code.

2.6.4 ViewBag in MVC

In ASP.NET MVC, a dynamic object called ViewBag is used to transfer data from a
controller to a view. It is helpful in situations when basic ad hoc data transfer is required

16
since it permits the temporary storing of data without the need for model binding.

Figure 2.7: Create Model,View,Controller

Figure 2.8: Create Model,View,Controller

17
Figure 2.9: Create Model,View,Controller

Figure 2.10: Create Model,View,Controller

2.7 Third Week

2.7.1 Creating Models, Controllers, and Views Using TempData


Creating Models, Controllers, and Views:

This week, I focused on creating new models, controllers, and views from scratch,
reinforcing my understanding of the MVC architecture. The process involved:

• Model Creation: Using models to define the data’s structure. As part of this,
classes representing the application’s data entities and their properties matching

18
database fields had to be created.

• Controller Creation: Creating controllers to control the logic of the program and
react to user input. Request management, data processing, and view selection fell
under the purview of controllers.

• View Creation: creating views that show the user data. The models and con-
trollers were closely incorporated with these views, enabling the creation of dy-
namic content.

2.7.2 Using TempData for Data Transfer:

• Introduction to TempData: In ASP.NET MVC, temporary data passing between


controllers or actions is accomplished through the use of TempData. In redirect
cases, where data must remain for only one request, it is especially helpful.

• Practical Application: I applied TempData in scenarios where data needed to be


passed from one action to another, especially during redirects.

• Persistence and Limitations: TempData is automatically erased after it is read,


and it does not persist beyond that point. It was crucial to consider this feature
when creating workflows that depend on data persistence across several activities.

19
Figure 2.11: Using TempData to pass data

Figure 2.12: Using TempData to pass data

20
2.7.3 Implementing Routing in MVC Understanding Routing:

• Introduction to MVC Routing: The technique of mapping URLs to certain con-


troller actions is known as routing in ASP.NET MVC. It enables the specification
of the controller and action that should react to a specific URL pattern as well as
the handling of incoming requests.

• Default Routing: I began by learning about the ASP.NET MVC default routing
configuration, which uses established patterns to link URLs to the HomeCon-
troller and related operations.

2.7.4 Passing Data from View to Controller Data Flow from View
to Controller:

• Form Data Submission: Form submissions are one of the main ways that data
is sent from the view to the controller.constructing forms that send information to
particular controller actions.Using model binding helps ease data processing by
automatically mapping form data to action method parameters or model objects.

• Using Query Strings: putting into practice scenarios where query strings were
used to transfer data from the view to the controller, giving users direct control
over URL parameters to filter or search data.Realising how crucial it is to validate
and clean query string data in order to guard against security flaws like SQL
injection and cross-site scripting.

• Handling Data in Controllers: I investigated the methods for capturing and


handling data passed from the view in the arguments of the action method, mak-
ing sure that data types were handled and verified appropriately.putting in place
server-side validation to guarantee that, prior to processing or storing, the data
received in the controller satisfied the relevant requirements.

21
Figure 2.13: Data Flow from View to Controller

Figure 2.14: Data Flow from View to Controller

22
2.7.5 Learning Outcomes Mastery of MVC Data Handling:

Creating models, controllers, and views was thoroughly covered in the third week, es-
pecially as it related to routing, controlling data flow with TempData, and directly sub-
mitting data from views to controllers.

2.8 Fourth Week

2.8.1 Creating Layouts in MVC Understanding Layouts in MVC:

In Web Forms, a layout is comparable to a master page. It’s employed to specify a uni-
fied appearance and feel for various viewpoints. Sections that are constant throughout
the program, such headers, footers, and navigation bars, are typical components of a
layout.

2.8.2 Creating a Basic Layout:

• Header Section

• Main Content Area

• Footer Section

23
Figure 2.15: Create layout

2.8.3 Creating Multiple Layouts in MVC

various areas of an application may occasionally need various design. For instance,
the navigation structure of an admin area and a user-facing section of the website may
differ. This is the point at which different layouts are useful.

• Admin Layout: The administration or backend portion of your application is


intended for use with the admin layout. Typical features include controls that are
restricted to administrators, management dashboards, and a navigation sidebar.

24
Figure 2.16: Admin layout

• User Layout: The front-facing portion of your program that normal users engage
with is what the user layout is meant for. Usually more straightforward, this
layout emphasises the user experience with elements like headings, footers, and
navigation menus.

Figure 2.17: User layout

25
2.9 Fifth Week

2.9.1 Creating Entity Framework in MVC

Entity Framework (EF) is a framework for ORM (Object-Relational Mapping) that en-
ables developers to use.NET objects to interact with databases. By allowing you to
communicate with your database using strongly-typed objects rather than plain SQL
queries, it streamlines data access.

• Install the Entity Framework NuGet packages in your ASP.NET Core project.

• Create a model class that represents your database table.

• Et up a DbContext class that manages the connection to the database and provides
access to the data.

• Configure your database connection string in appsettings.json.

• Run migrations to create the database schema based on your models.

Figure 2.18: Entity fremwork

26
2.9.2 Connect with Database and Save Data in Database

The next step is to link your application to the database and carry out CRUD operations
after setting up Entity Framework.Make sure the DbContext class is set up properly
to establish a connection to your database. You can inject the DbContext into your
controllers by using dependency injection.In your MVC view, you can create a form that
receives user input. After submitting the form, the data is transferred to the controller,
where Entity Framework is used to validate and save it to the database.

Figure 2.19: Connect with database

2.9.3 Overall Conclusion

This report’s second chapter gave a detailed rundown of the training exercises and the
particular jobs completed during the internship. ASP.NET Core MVC was the main
topic of the course, with a focus on connecting and communicating with databases,
comprehending and utilising the Entity Framework, and adding navigation components
to improve the application’s user interface.The main learning goals of this chapter were
accomplished through real-world examples and practical applications. A thorough con-
text was provided in the introduction, which prepared the ground for the technical inves-
tigation. The activities were in line with the aims of creating dependable, and effective
online applications with the.NET framework since the objectives were well-defined.

27
Chapter 3

Acquire Skills During Industrial


Training

3.1 Introduction
I gained a wide range of abilities that are essential for a full-stack developer at Ob-
ject Canvas Technologies throughout my industrial training in.NET Full-stack devel-
opment. These abilities are divided into three categories: industry-specific knowledge,
soft skills, and technical capabilities. The.NET framework and the C# programming
language are highlighted.

3.2 Technical Skills

3.2.1 Programming Languages:

• C# Programming:
Throughout the course, I was mostly focused on C#, a strong and flexible lan-
guage that is essential to the.NET framework. Working on several web appli-
cation back-end components helped me become more proficient in C#.I wrote
object-oriented code, worked with Language Integrated Query (LINQ) for data
manipulation, and implemented design patterns like Model-View-Controller (MVC).

28
Creating a RESTful API was a major effort in which I used C# to make endpoints
that operated on a SQL Server database and carried out CRUD functions.[2]

• JavaScript:
I did a lot of front-end programming work with JavaScript in addition to C#.
Using frameworks like Angular or React, depending on the situation, I created
dynamic and responsive web sites that are often combined with.NET backends.
My knowledge of the interactions between front-end elements and back-end ser-
vices has enhanced as a result of this encounter.

3.2.2 Tools and Technologies:

• .NET Framework and .NET Core:


I developed a thorough understanding of the.NET framework, which includes.NET
Core and is frequently used to create online apps that are fast and scalable. I
was involved with the configuration of middleware, routing, and dependency in-
jection for ASP.NET Core apps. Additionally, I learnt about the advantages of
utilizing.NET Core for cross-platform development and how to implement it on
a variety of Linux-based platforms.[3]

• Entity Framework (EF):


I became skilled at interacting with the database using Entity Framework, an
ORM (Object-Relational Mapping) tool. I gained knowledge on how to set up
associations between entities, develop data models, and carry out data migrations.
I was able to simplify complicated queries and transactions while maintaining
data consistency and integrity by using EF.

• SQL Server:
During my training, I worked a lot with Microsoft SQL Server. I gained knowl-
edge on how to create intricate SQL queries, maintain relational databases, and
enhance database performance. In order to automate processes and enforce busi-
ness rules inside the database, I also worked on developing stored procedures and

29
triggers.

• Visual Studio:
Throughout the training, my main Integrated Development Environment (IDE)
was Visual Studio. I discovered how to take advantage of its robust code naviga-
tion and debugging tools, as well as its Git integration for version management. I
also used a variety of Visual Studio extensions and tools to increase the effective-
ness of my project management and coding.

• Azure Cloud Services:


I learnt about Azure, Microsoft’s cloud platform, during the course. I gained
knowledge on how to use Azure DevOps to create CI/CD pipelines, manage
databases using Azure SQL, and deploy.NET applications to Azure App Services.
I now have a strong foundation in cloud computing and know how to use cloud
services to create scalable applications thanks to this experience.[4]

3.2.3 Software Development Methodologies:

• Agile and Scrum Practices:


The Scrum framework and other Agile approaches were followed throughout the
training course. I took an active part in sprint planning, sprint retrospectives,
and daily stand-ups. These techniques aided in my understanding of the value of
ongoing feedback, iterative development, and project needs adaptation. I also
gained knowledge on task estimation, workload management, and productive
teamwork.

3.2.4 Project Management Tools:

• JIRA:
JIRA was a tool I used a lot for tracking and managing tasks. I gained knowl-
edge on how to draft and oversee user stories, monitor development via sprint

30
boards, and produce reports to evaluate the effectiveness of teams. This tool was
crucial for maintaining project focus and making sure that everyone in the team
understood the importance of meeting deadlines and goals.

3.3 Soft Skills

3.3.1 Communication:

Regular contact with stakeholders, project managers, and team members was es-
sential to my job. It was via routinely providing project updates, talking about
technical difficulties, and documenting my work that I developed great commu-
nication skills. Through these experiences, I have learnt how to communicate
verbally and in writing about difficult technical subjects in an understandable and
succinct manner.

3.3.2 Teamwork:

A crucial component of the training program was collaboration. To complete


projects, I collaborated closely with other developers, designers, and QA engi-
neers. My understanding of the value of teamwork, particularly the capacity to
listen to others, share ideas, and offer helpful criticism, has improved as a result of
this experience. Since it was encouraged for team members to share information
and abilities, I also learnt the significance of mentoring and being mentored.

3.3.3 Time Management:

I was able to strengthen my time management abilities during the program by


effectively managing several assignments and deadlines. I developed good job
prioritisation skills by striking a balance between urgent duties and long-term

31
project objectives. I also improved at projecting how long projects would take
and making sure I completed them on schedule without sacrificing quality.

3.3.4 Problem-Solving:

Due to the nature of the task, it was frequently necessary to solve challenging
issues including code debugging, speed optimisation, and the implementation of
new features under tight deadlines. I created a methodical process for handling
problems that included figuring out the underlying reason, looking into possi-
ble fixes, putting theories to the test, and putting the best workable answer into
practice. This technique improved my capacity for critical thought and problem-
solving.

3.4 Industry-Specific Knowledge

3.4.1 Understanding of the Software Development Lifecycle


(SDLC):

I gained a thorough understanding of the Software Development Lifecycle (SDLC)


during my training, particularly as it relates to developing.NET applications. Ev-
ery phase of the SDLC, from gathering requirements and designing the system
to developing, testing, deploying, and maintaining it, involves me. I now have
a thorough understanding of the software development process and how crucial
each stage is to the final product’s delivery thanks to this practical experience.

3.4.2 Exposure to Industry Standards and Best Practices:

I was introduced to SOLID principles, code reviews, secure coding techniques,


and other industry standards and best practices for.NET programming. I was able
to develop secure, scalable, and maintainable code by following these guidelines.

32
Best practices for deploying apps to production environments, such as logging,
monitoring, and preserving high availability, were also covered to me.

3.4.3 Domain-Specific Knowledge:

I acquired domain-specific knowledge in fields including enterprise resource plan-


ning (ERP), customer relationship management (CRM), and e-commerce tech-
nologies, depending on the projects I worked on. For instance, I became familiar
with the unique difficulties and specifications of developing scalable e-commerce
systems while working on a project for a retail customer. These included manag-
ing high transaction volumes, guaranteeing data security, and offering a flawless
user experience.

3.5 Conclusion

My professional development has been greatly aided by the abilities and infor-
mation I gained while completing my industrial training in.NET Full-stack De-
velopment at Object Canvas Technologies. I now have the market knowledge,
soft skills, and technical proficiency necessary to succeed as a full-stack devel-
oper thanks to these experiences. I now have a strong foundation in C# and.NET
technologies from the training, which will help me take advantage of future pos-
sibilities and challenges in the software development sector.[5]

33
Chapter 4

Conclusion

4.1 Summary of the Training Experience

Object Canvas Technology’s industrial training program in.NET Full-stack de-


velopment has been an excellent experience that has greatly me in my career and
personal development. I have gained a deeper grasp of software development
and the IT sector overall through exposure to a diverse range of technologies,
processes, and real-world applications over the course of [insert duration, e.g.,
three months]. My main goals going into this program were to improve my C#
skills, obtain practical experience with full-stack development, and comprehend
the realities of working in a professional software development environment. By
actively engaging in a range of initiatives and working closely with seasoned
professionals, I have not only accomplished these goals but also picked up new
abilities that will be useful in my future employment.

34
4.2 Achieved Learning Outcomes

a. Technical Proficiency: My proficiency with C# and the.NET framework


has grown, allowing me to create dependable and expandable online apps.
My experience with technologies like Microsoft SQL Server, Entity Frame-
work, and ASP.NET Core has given me a thorough understanding of both
front-end and back-end development processes. Furthermore, my experi-
ence with Azure Cloud Services has given me the fundamental knowledge
and abilities needed to deploy and manage applications in cloud settings.

b. Practical Application of Knowledge: I was able to apply my academic


understanding to real-world problems by working on real-world initiatives.
I helped with the requirements collection, system design, coding, testing,
and deployment phases of creating end-to-end solutions. My comprehen-
sion of the software development lifecycle and the significance of following
industry standards and best practices has been strengthened by this hands-on
experience.

c. Soft Skills Enhancement:My soft skills have also improved greatly as a re-
sult of the training. My communication and teamwork skills have increased
as a result of regular contacts with cross-functional teams. My ability to
manage many jobs and fulfil project deadlines has improved my organi-
sational and time management skills. In addition, taking on challenging
tasks and debugging code have improved my analytical and problem-solving
skills.

d. Version Control and Collaboration: I acquired practical expertise with


Git, an essential version control technology for teamwork in software de-
velopment. I gained knowledge on how to handle merge conflicts, oversee
code repositories, and preserve code integrity between branches. I worked
with team members to improve our development process and enable better
change tracking by utilising Git.

e. Understanding of DevOps Practices: Exposure to DevOps practices dur-

35
ing the training, particularly through the use of Azure DevOps, introduced
me to Continuous Integration and Continuous Deployment (CI/CD) pipelines.
I learned how to automate build and deployment processes, reducing man-
ual errors and speeding up the release cycle. This understanding of DevOps
has broadened my perspective on the importance of operational efficiency
and continuous delivery in modern software development.

f. Exposure to Secure Coding Practices: During my training, I learnt about


secure coding methods, which are crucial for guarding against common vul-
nerabilities like SQL injection, cross-site request forgery (CSRF), and cross-
site scripting (XSS). This information is essential for guaranteeing the in-
tegrity and security of the apps I create, especially in the current climate
when cybersecurity risks are common.

g. Data Management and Performance Optimization: Managing sizable


datasets and guaranteeing effective database functioning were essential com-
ponents of the assignments I completed. In order to improve application
speed, I learnt how to optimise SQL queries, indexing plans, and caching
technologies. These abilities are essential for creating applications that are
scalable, performant, and functional.

h. User Experience (UX) Considerations: I concentrated on the significance


of user experience in web apps in addition to backend development. I learnt
more about creating end-user-friendly interfaces that are intuitive and easy
to use. Comprehending the fundamentals of UX design, such usability, re-
sponsiveness, and accessibility, has improved my capacity to provide com-
prehensive solutions that are user-focused and technically solid.

36
4.3 Challenges and Overcoming Them

During the training time, I faced a number of challenges that put my skills and
fortitude to the test. It was initially intimidating to adjust to new technologies
and frameworks within constrained project schedules. But with perseverance,
mentorship, and self-directed study, I was able to get past these obstacles and
produce high-caliber work. Through these experiences, I’ve learnt the value of
flexibility, never-ending education, and tenacity in the rapidly changing world of
technology.

4.4 Impact on Future Career Plans

My ambitions and aspirations for my career have been greatly impacted by this
industrial training. My extensive skill set and expertise put me in a strong posi-
tion to succeed in a full-stack development job. My passions and areas of interest
for specialisation are now more apparent to me. In order to keep up with new
developments in software development, I’ve been motivated to pursue additional
certifications and graduate coursework by being exposed to cutting-edge technol-
ogy and industry practices.

4.5 Acknowledgments

I want to thank Object Canvas Technology from the bottom of my heart for giving
me this chance to develop. I want to express my gratitude in especially to my
teammates and mentors for their constant help, direction, and inspiration during
the training. Their knowledge and desire to impart it to me have been invaluable
to my growth.

I would also like to express my gratitude to my university and the faculty for
organising this industrial training program, realising its value in bridging the gap

37
between academic knowledge and industry demands.

4.6 Conclusion

In summary, my technical competence and professional competencies have been


greatly enhanced by my transforming experience receiving industrial training at
Object Canvas Technology. My future aspirations in the field of software de-
velopment will be well-founded by the abilities and information I have gained
throughout this time. I’m sure I can make a valuable contribution to any organ-
isation and adjust to the fast-paced nature of the technology sector thanks to the
knowledge and experiences I’ve gathered.

38
References

[1] Ricardo Peres. Modern Web Development with ASP. NET Core 3: An end
to end guide covering the latest features of Visual Studio 2019, Blazor and
Entity Framework. Packt Publishing Ltd, 2020.

[2] Jon Smith. Entity Framework core in action. Simon and Schuster, 2021.

[3] Anthony Giretti. Import and display data with asp. net core razor pages,
hosted services, and grpc. In Beginning gRPC with ASP. NET Core 6: Build
Applications using ASP. NET Core Razor Pages, Angular, and Best Practices
in. NET 6, pages 299–385. Springer, 2022.

[4] Annanda Rath, Bojan Spasic, Nick Boucart, and Philippe Thiran. Security
pattern for cloud saas: From system and data security to privacy case study
in aws and azure. Computers, 8(2):34, 2019.

[5] Andrew Troelsen and Phillip Japikse. Pro C# 9 with. NET 5: Foundational
Principles and Practices in Programming. Springer, 2021.

39

You might also like