Project
Project
UNIVERSITY
Declared by (student)
Name Signature Date
University Advisor
Name signature Date
First chapter of the document contains the background of Farka ICT where the internship takes
place . Farka ICT Solutions Plc is one of the most successful information and communication
technology (ICT) private firms in the horn of Africa. The company provides different ICT
solutions for different governmental and non governmental solutions
The second chapter explains about the objectives of the internship, my role on the internships
and scope and limitations of the mission that I had in the company.
The third chapter of the document consists of the benefits that I get from the internship.
Benefits that i get from the company includes
➢ Practical skills - skills related to programming, networking and others skills that are
important to computer engineer
➢ Communication skills: skills related to how to communicate with you peers and managers
➢ How to cooperate with others during projects
The fourth chapter consists about the project I made during the internship including
➢ Situation analysis of ecommerce website
➢ Problem statement, scope, objective and project design pattern i follow to build the
website
References: 27
Chapter one: Company background
1.1: Introduction
Farka ICT Solutions Plc is one of the most successful information and communication
technology (ICT) private firms in the horn of Africa. Currently it operates in South Sudan and
Ethiopia. The company has been undertaking major IT projects for governmental,
non-governmental and commercial organizations. It has successfully completed all projects and
hopes to do more in the future. Most of its staff are internationally certified programmers,
System architects, certified network professionals and senior experts in the field of Information
and Communication Technology.
Farka ICT solution provides diverse services to its customers around ICT and software. The
following services are the most common ones.
➢ Biometric Solutions: which uses personal characteristics (directly linked to who you are)
to authenticate or identify a person. A system collects biometric characteristics unique to
every person. These biometric characteristics are then directly linked to verify or identify
the individual. The specific biometric solutions provided by our company are Attendance
Systems, Door Access Controls and Smart Cards.
➢ Networking and Automations: It provides networking automation using latest
technologies
➢ Software Development: Farka ICT solution has elite professional programmers who are
giving software solutions to different companies including ministry of education, higher
education institutes and different non governmental organizations. It is one of the best
companies in the horn of Africa which develops effective and reliable software for
customers.
➢ ICT Consultancy and Technical Support: consult and support customers on system
security network security and Database systems.
➢ IT Training: Farka ICT also provides a variety of ICT training to different organizations.
The training includes basic computer Skills & troubleshooting techniques, Database
systems, Networking and other training courses based on customer demand.
Chapter two: About the internship
My role in the company was an intern of both back end and front end software developer
➢ Back-end software development:
which involves building and maintaining the mechanisms that process data and perform
actions on websites. Unlike front-end development, which involves designing what a user
sees on a website, back-end software development is involved in data storage, security,
and other server-side functions that a website user can not see.
➢ Front end web developer:
Everything you see on a website, like buttons, links, animations, and more, were created
by a front end web developer. It is the front end developer's job to take the vision and
design concept from the client and implement it through code.
2.3: My mission on the company and context of the mission.
Farka ICT solution is currently using .NET framework which is a framework developed by
microsoft and that uses c sharp programming language. Now they want to use the django web
framework for some of their solutions because django has the following superiority over .NET
framework
➢ Most notably, perhaps, is that Django simply allows for quicker results. ASP.NET web
development is not always slow, but when compared to Django, developers often find
that they are able to produce results much more quickly.
➢ Django can be used in many different scenarios to produce various apps or sites and has
been used for everything from shopping platforms to supporting document management
systems, customer databases, or business-to-consumer communication portals.
➢ Django easily allows you to implement machine learning concepts because django uses
python programming language which is the main machine learning programming
language
➢ Django is fully free web framework which is not the case for .NET framework
My mission was to build a sample ecommerce website using the django framework so that the
company can use the django framework in their future web development projects.
The scope of the mission is to show the Farka ICT solution can develop responsive web
applications using the django web framework. The limitation on achieving the missions are
➢ My prior knowledge in web development was limited. Therefore it takes me a lot of time
to understand web technologies to develop sample ecommerce websites.
➢ Time constraint to develop fully fledged ecommerce website
chapter three: Benefits Gained from Internship
One of the key motivations for an internship is to get practical knowledge on the major courses
we take in university. The main practical i get from the internship includes
One of the main skills I develop during this internship is how to use the programming concepts I
learned in university to practical real world problems. Some of the main programming concepts I
apply include object oriented programming, how to gather project requirements, software
engineering steps to implement those requirements.
When you build software the most important thing you need to consider is its space and time
complexity. If you build software that is inefficient in terms of those requirements the software
you build will be useless. Therefore during the internship I learned how to select best data
structure and algorithm to implement projects assigned by the company
The other technical skills I learned during this internship is networking and network security.
Because to build a secure, reliable and efficient website you have to understand how the internet
works and how to secure the data transmission between client and the web server. In addition
you have to understand how the TCP/IP protocol works.
I have also learned how to use command line to interact with the computer
During our internship time it was necessary to communicate with each other and share
information to accomplish the task assigned to you on a daily basis. So, my communication skills
have been improving from day to day, the changes were visible even to us, and that is a good
thing.Communication skill is one of the good characteristics, we should have as an Engineer
Having technical skill is a very important thing to have to be a successful professional. But
having technical skills is not enough. You also need to have a work ethic. During the internship I
have learned the following work ethic requirements and try to implement them.
➢ Punctuality
➢ Obedience for manager
➢ Honesty
➢ Self confidence
➢ Trustworthiness
➢ Politeness
➢ Respectfulness
The last but not the least thing I learned during the internship is how to cooperate with others. To
better facilitate cooperation with others I learn git and github technologies.
➢ GIT(version control): is a distributed version control system that tracks changes in any
set of computer files, usually used for coordinating work among programmers
collaboratively developing source code during software development. Its goals include
speed, data integrity, and support for distributed, non-linear workflows
➢ Github: GitHub, Inc. is an Internet hosting service for software development and version
control using Git. It provides the distributed version control of Git plus access control,
bug tracking, software feature requests, task management, continuous integration, and
wikis for every project.
Chapter four: Ecommerce website project
4.1.1: Introduction
Situation analysis is basically a methodical look at the internal and external factors influencing
your business at any given moment. These factors might include customers, competitors, the
market environment, and your business’s capabilities. By examining these elements of your
business and its environment, you can identify strengths and weaknesses as well as potential
areas of growth.
According to Forbes[1] the following are the best practices to design ecommerce websites.
➢ Consistent branding
The first step in ecommerce website design is to have consistent branding on both your physical
location and digital channels. This allows your customers to have consistent experience.
Clearly display your logo on your home page. If you use a template for your website design,
customize it to match your branding by selecting the same colors and fonts that you use on items
like your business cards or shopping bags.
➢ Clean design
When designing your homepage less is more. It could look good to have more text or photo
contents in your home page, but that approach can overwhelm your visitors.
Think of your homepage as your storefront. You wouldn’t put everything you sell in the front
window, right? Instead, engage and entice customers by using a few words or sentences that
convey your most important message paired with striking graphics.
➢ High-quality photos
Using high quality photos helps your users to see the products clearly. Studies[3] show that 75%
of customers said that a good photo influences them whether to make a purchase or not and 20%
of customers return a product because they think the image and the product does not look the
same.
Therefore it is recommended to use good photo qualities to your website. If you can not take
high quality photo it is recommended to use professional to take photos photos for your product
➢ Intuitive navigation
Putting things where users expect them to be is very important for your online store success.
Because this helps your users to find what they want easily, make the buyer's journey without
disruption.
The following are best practices for intuitive navigation
● Make sure your navigation bar is easy to find with a predictable position, such as in the
header, top left or right corner, or as a sidebar.
● Use sharp color contrast to improve visibility
● Use easy to understand navigation bar titles
Responsive design
Google’s research[2] found that as page load time goes from one second to 10 seconds, the
probability that a visitor on a mobile site will click away increases by 123%.
Responsive design allows your website to load across all clients (eg. pcs, smart phones) without
the user pinching the webpage to fill its screen.
Improve your load time by paying attention to the size of your website images. While retina
devices boost clarity, large image files also slow them down, and a few seconds delay could
distract visitors.
The online purchase decision is highly influenced by internal and external factors (Zhang et al.,
2013). Internal factors reflect one’s personal traits and experiences which impact their
decision-making approach towards online buying and even leads to impulsive buying.
The following are the most important internal factors that influence online shopping.
➢ Ease of use
E-commerce companies provide a wide spectrum of products with multiple options keeping in
mind the expectations of the consumers (Gong et al., 2013). The fact that consumers are able to
have the option of selecting from a wide spectrum of products or services at the comfort of home
is a huge advantage that influences the online purchase decision. Consumers also have the luxury
of selecting the payment mode and in some cases, try the products before paying. For example,
retail giant Amazon offers a “try before you buy” option which caters to the current expectation
of the consumers (Amazon, 2019). There is a growing dependency on online shopping due to the
ease of use of the online medium.
➢ Personal experience
The user’s previous experience with the e-tailer also influences current purchase decisions (Wu,
2013). If the consumers have a good experience with a specific e-commerce firm then it
influences the online purchasing behavior and on the contrary. The essence of the feel-good
factor is required to impact online purchase decisions in a positive way.
➢ Personal traits
Personal traits include attitude, self image and perception of consumers.
➢ Personal attitude: represents customers believe on having feel good factor prior
purchasing
➢ Self-image: illustrates the image that the individual carries and what they think about
themselves when it comes to online shopping.
➢ The perception of the consumers also holds significant value as it is going to influence
their online purchasing decision
➢ Time management
It is one of the internal factors which influence the online purchasing decision. If the consumers
face a paucity of time then they are likely to opt for online shopping for their required products
or services (Gong et al., 2013). On the other hand, if they are not bound by any time constraints
they might select both brick and mortar outlets and online shopping. This internal factor is highly
influenced by how consumers manage their time.
On the other hand, external factors are more controlled by the nature of the products or services,
recommendations and reviews from other customers, cultural and social impact.
➢ Service quality
A consumer is attracted to a particular product or service on the basis of its quality and the price
bracket it comes within (Malik & Guptha, 2013). If the customers think the quality of the product
is not their probability of buying a product is very low.
➢ Easy accessibility
If consumers purchase a product in person, they have to stand in a queue. But using online
shoping With a few clicks, consumers are able to get a wide variety of goods and services on
their doorsteps. This easy accessibility option facilitated by the majority of e-commerce firms
has been a key driving factor towards online purchasing (Chocarro et al., 2013).
The reviews, ratings and recommendations of other consumers on a particular product or service
also influence the buying decision (Jiménez & Mendoza, 2013). Feedbacks from other
consumers help to get a general view of the quality of the products or services which impacts the
decision-making process. On the other hand, reviewing thousands of comments and feedback
takes a huge amount of time and can be confusing at times.
Traditionally if you want to buy something you have to go to the shop center to get the product
you want to purchase. But nowadays it is very difficult purchasing things this way. Some of the
reasons that makes shopping things difficult are
➢ it waste a lot of customers time to find the product they want to purchase
➢ It is difficult to sell variety products on one place
➢ Limited accessibilty
This online shopping store will solve the above problems
4.3: Objective
The main objective of this project is to develop an ecommerce website which is a website that
allows people to buy and sell physical goods, services, and digital products over the internet
rather than at a brick-and-mortar location
6.4: Significance
Nowadays most people have internet access therefore transitioning business to the digital world
is very important due to the following reasons.
➢ It increases the company's clients because people from different region can see your
products simply on the internet
➢ Customers can purchase products from home using their smartphone or pc
➢ You can sell wide Range of Products which is difficult for offline shoping
➢ It helps your expand your brand
4.5: Scope
The project has both administrative and customer interfaces. An admin is an individual who
manages the website. Customer is an individual who visit our website and purchase products
To implement the above functionalities of the ecommerce website I use django MVT
(Model-View-Template) architecture. MVT is a software design pattern for developing a web
application. The over structure of the django web framework looks like the following figure
Django Design pattern
4.8.1: Model:
The model is going to act as the interface of your data. It is responsible for maintaining data. It is
the logical data structure behind the entire application and is represented by a database (generally
relational databases such as MySql, Postgres). Django models are used to create relational
database tables. Django models are python classes that inherit the django.models module of
django web framework.
Generally each django model is translated into a single database and properties of the class
become the data field of the database.
Based on the functional requirement of our document the use case and er diagram for both an
admin and customer(user) looks the following.
User ER diagram.
➢ Customer model(table): has customer_id, and customer name, email, password, address
and contact with customer id primary key.
➢ Product: Is what we want to cell in our website and has product id, description and
images as field with product_id primary key
➢ Order- is what a user wants to purchase from the website with Invoice primary key and
both product_id and customer_id as foreign keys. Order has foreign key means each
order is associated with the customer and product.
Admin ER diagram
➢ Category: represents the category of products that the user may purchase from our online
shop
➢ Admin: is built in interface provided to as by django framework
➢ Each product has a category hence category_id is foreign key for product
Both the above admin and customer ER diagrams relations are coveted to relational database
tables using the django django model built in class.
4.8.2: Template:
A template consists of static parts of the desired HTML output as well as some special
syntax describing how dynamic content will be inserted.
A template in Django is basically written in HTML, CSS, and Javascript in a .html file. Django
framework efficiently handles and generates dynamically HTML web pages that are visible to
the end-user. Django mainly functions with a backend so, in order to provide a frontend and
provide a layout to our website, we use templates.
What is HTML:
➢ stands for HyperText Markup Language
➢ Is the standard markup language for creating Web pages
➢ Describes the structure of a Web page
➢ Consists of a series of elements
➢ Elements tell the browser how to display the content
➢ Elements label pieces of content such as "this is a heading", "this is a paragraph", "this is
a link", etc.
What is CSS?
➢ CSS stands for Cascading Style Sheets
➢ CSS describes how HTML elements are to be displayed on screen, paper, or in other
media
➢ CSS saves a lot of work. It can control the layout of multiple web pages all at once
➢ External stylesheets are stored in CSS files
Additional syntax: The additional syntax in our templates allows us to include data dynamically
to our website.
Template created for this project
➢ Base_generic.html - consists comment static template for all our webpages
➢ Car.html
➢ Index.html - for home page
➢ Login.html
➢ Signup.html
➢ Search.py
➢ orders.html
4.8.3 views:
Are python functions or classes that take httprequest request as an argument and return web
response . This response can be the HTML contents of a Web page, a redirect, a 404 error, an
XML document, an image,or anything that a web browser can display.
Views created for this project
➢ Cart.py - To manage our cart
➢ Home.py - for our homepage of our website
➢ Order.py - for the order made by the user
➢ Login.py - For customer login
➢ Checkout.py - To manage how the user can send data to an admin
Cart
Admin
Chapter five: Conclusion and Recommendations
5.1: conclusion:
The whole experience of working as an intern at Farka ICT Solution was a very good experience.
This organization provides high quality services to its customers and its employers have a very
good work culture, great minds and they always try to develop better solutions for their
customers.
From the internship I learned a lot about how to apply real world problems and how I can create
connections with other professionals in the field of computer engineering. I also learned how to
make decisions and take responsibility for things I do in my life
5.2: Recommendation
➢ For Addis Ababa Science and Technology university: the programs should focus on
practical knowledge. Students should focus on projects that can solve real world
problems.
➢ For Farka ICT Solution: They can use django framework for their software solution
because django is
● It’s fast and simple
● It’s secure
● It suits any web application project
● It’s well-established
References: