Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 27

Internship Report

Presented by

Ramadhani Ally

Undertaken in the Inspires Business Ideas Company in Bujumbura

Internship Report submitted to the School of International University of

Equator (IUE) in Information and technology (SOFTWARE ENGINEERING)


Table of contents

Chapter I Mission of inspires business ideas information

I. point of sale

II. inventory management system

III. accounting and financial software

IV. HR (human resource) Payroll and attendance Software

V. product and manufacturing software

VI. enterprise management software

VII. point of sale mobile App

Chapter II Internship description

I. My role

Chapter III Overview of internship experience

I. Introduction
II. Web Application

III. Mobile Application

IV. challenges

V. consideration

VI. Conclusion

VII. References

ACKNOWLEDGEMENT

As my two month of internship experience is success, I express my deepest

appreciation to all those who provided me the opportunity and guidance. First

and foremost, I thank the almighty Lord for giving me Life. I cannot wish for

anything more from Him. A special gratitude I give to the Director of Inspires

business ideas, Mr. Fayaz who gave me the chance of doing internship with
this esteem company. I say thank you very much Director. To supervisor, Mss.

Nadine Ntibigira, your contribution in stimulating suggestions and

encouragement is forever going to guide me in my Software programming

career path, thank you madam. I would also like to acknowledge with much

appreciation the important role of the staff of Inspires business ideas,

especially Morisho, Pamela, Geoges and Patrick, my internal audit work could

not have been completed without your time in providing the important

programming skills. I say thank you.

CHAPTER I: Inspires business ideas Company information


Inspires business ideas was created in November 2017 by Fayaz and is one of

the software development company, they provide total application solutions for

bespoke software development, application development, website design and

hosting solutions. Inspires business ideas is locate in Burundi Bujumbura at

l’OUA Street in a big building called AUTOTECH if you think confused just

locate SIONI market and beside it you can see a big AUTOTECH company

then is inside you find Inspires business ideas company.

They develop:

The point of sale.

Inventory management system

Accounting and financial software

HR (human resource) Payroll and attendance Software

Project management software

Product and manufacturing software

Enterprise management software

Point of sale mobile App.

I. For point of sale

Cloud-based Point of Sale Software for Retail Business. Management Software

made for shops, warehouses, restaurants etc.


II. Inventory management system

Integrated with Point of Sale. Place and track orders faster, minimize stock-

outs and reduce excess inventory with customizable reports.

III. Accounting and financial software

Our range of accounting and financial software is tailored to suit any size of

business.

IV. HR (human resource) Payroll and attendance Software

Our range of HR and payroll software offers compliant solutions for businesses

of any size.

V. Project Management Software

Award winning project management software designed for teams to plan, track

& collaborate projects and tasks.

VI. Product and manufacturing software


Our software makes material planning, production scheduling and team

communication easy.

VII. Enterprise management software

A powerful complete solution for a large to enterprise size business. Take your

business beyond ERP.

VIII. Point of sale mobile App

Sell from a smartphone or tablet. Our Point of Sale Mobile App works on

iPhone, iPad, Android smartphone and tablet.

Chapter II: Internship description

I. My role

My role at inspires business ideas was to work as a mobile developer using the

framework of dart programming language called flutter and backend using

php programming language.


Chapter III Overview of internship experience

I. Introduction

During my tow month of internship, as I asked to be train in mobile

applications and I was feeble in php programming, I was first trained with the

backend using PHP programming language; Inspires business Ideas uses the

framework for web called Codelgniter.

Why using Codelgniter?

The answer is just of the simplicity, it makes life easy.

Normally PHP is a server-side scripting language for building dynamic web-

based applications but CodeIgniter contains libraries, simple interface and

logical structure to access these libraries, plug-ins, helpers and some other

resources which solve the complex functions of PHP more easily maintaining a

high performance.

Inspires business ideas has the frame call CICOOL, this include the framework

of Codelgniter but with this CICOOL you can develop faster a web base

application or a given point of sale for a web application by providing faster the
menu, dashboard, session.. , I mean this CICOOL can generate code just for a

simple click and you can find the hole code in the structure of model view

controller like in Codelgniter the difference between this CICOOL and

Codelgniter both have the structure of model view controller but one can

generate like interfaces which is CICOOL and another provide only simple file

respecting the model view controller and you can code all by yourself also

CICOOL gives a possibility to make relation between entities in a database

even if while analysing the database you didn’t make.

CICOOL can create faster an API (application program interface) compering to

the way you can start from Scratch the API creation.

II. Web Application

I was train using that CICOOL in the interval of one month and I develop a

simple application of university which has authentication and authorisation of

3 sessions including a login form as the picture shows down:

This down is a login form where you can have the possibility to login as admin,

Registrar, and Course register depending on your email and password


This is an admin part where you can see or visualise all of the part of the

application like program, Department, Concentration, Registration, Semester,

Course finally Course allocation also if you see in login we have the last login

and last logout.


This is the Registration part where a user can register student as you see in

the menu I have only the tap of Registration and it has the CRUD(create read

update delete) functionality

This is the Course Registration part where a user can register a course as you

see in the menu I have only the tap of Course allocation and it has the

CRUD(create read update delete) functionality


At the end of that short CICOOL training, I was given some of task to do in

their web applications which they were developing. I was working in a part of

point of sale using web hook, the utility of web hook where to load data in the

memory of the machine in order to facilitate some transaction of the operation

because if you work with the query each time is like you are overloading the

server, but if you load the data in the computer’s memory all of the data you

need are in the memory you can do all operations and finalise by the save

button or edit then the server now can synchronize in your memory RAM but

everything of an application are load in the RAM memory.


III. Mobile Application

After that, they affect me on mobile development as was my preference.

Because they told me that I have to know php as the backend then they can

train me on mobile application.

The framework for mobile inspires business ideas uses is the FLUTTER and

android. Flutter is from Dart programming languages and android uses java. I

was obliged to choose one on which I will be train on, then I chose flutter just

for reason it is Google’s UI toolkit for building beautiful, natively compiled

applications for mobile, web, and desktop from a single codebase. It has good

design and you can write faster the code to create a simple design and it easy

to learn comparing to android using java.

I was train in that flutter framework in the interval of one month, Morisho first

train me with the concept of object oriented programming using Dart

programming language after covering all the dart programming then I start

with flutter.

I used the php programming language as the backend language where I create

an API of a php file which I was calling in my flutter application to perform

some https request like get and post which comes from the frontend.

In order the fronted and the backend to be linked there is one technology apply

and without it we can’t load data from the server into the application also we
can’t perform the create update read delete functionality, that technology is

JSON.

What is JSON?

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It

is easy for humans to read and write. It is easy for machines to parse and

generate. It is based on a subset of the JavaScript Programming Language

Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that

is completely language independent but uses conventions that are familiar to

programmers of the C-family of languages, including C, C++, C#, Java,

JavaScript, Perl, Python, and many others. These properties make JSON an

ideal data-interchange language.

JSON is built on two structures:

 A collection of name/value pairs. In various languages, this is realized as

an object, record, struct, dictionary, hash table, keyed list, or associative

array.

 An ordered list of values. In most languages, this is realized as an array,

vector, list, or sequence.

When exchanging data between a browser and a server, the data can only be

text.
JSON is text, and we can convert any JavaScript object into JSON, and send

JSON to the server.

We can also convert any JSON received from the server into JavaScript objects.

This way we can work with the data as JavaScript objects, with no complicated

parsing and translations.

Within that short application I was able to make the CRUD functionality see

the picture below.

Why use JSON?

Since the JSON format is text only, it can easily be sent to and from a server,

and used as a data format by any programming language.

JavaScript has a built in function to convert a string, written in JSON format,

into native JavaScript objects:

JSON.parse ()

So, if you receive data from a server, in JSON format, you can use it like any

other JavaScript object.

The role of JSON was to load data in the server and store them in an array of

memory using the https request. For example how am I proceeding if I want to

load data from the server to the application?


First I must have the endpoint of a server on which I will load data, secondly I

will use Json to parse the data into the array memory of an application then by

using the concept of object oriented programming I can be able to see the data

in my mobile application.

Another technique was shared_preferences: Wraps NSUserDefaults (on iOS)

and SharedPreferences (on Android), providing a persistent store for simple

data. Data is persisted to disk asynchronously. Neither platform can guarantee

that writes will be persisted to disk after returning and this plugin must not be

used for storing critical data. This makes your point of sale to work even offline

for some hours maybe it can be the problem of an internet but the point of sale

remain operational.

I creating the small application which has the name of an employee and his or

her last name also populate the data in the dataTable (property of flutter

tables). See the picture down:


After That I was affected in one of the task of the mobile application they were

doing my job was to create creating a login which can distinguish admin part

and user part, in admin part I had a menu which has a part of user

registration then I can create the CRUD(create, read update, delete) and full

functionality.

The login I created is:


You can login as user and as Admin

The Admin part is:


I was affected in user Registration part where I can have the part of adding a

user like you see in the picture in the following page.


Also I was able to see the information of a user by just a simple click
By this I have all email of the users in my project application now I can click to

a list View then I can see the information concerning the one I click
IV. Challenges

I arrived at inspires business ideas with my own programming skills in javaFx

and for mobile I had ionic framework as fronted and firebase as my backend.

I was oblige to start learning php programing skills as their backend in mobile

and dart programming skills in order to interact with its framework called

flutter for frontend. The migration wasn’t easy at all, but base on the good

programming skills proving with my teachers, I was able to overcame the

migration and be good.

Also in order to emulate my application in my computer using virtual emulator,

I was facing the difficulties to connect to the database because for the endpoint

I was putting 'http://localhost/folder_name/ server_file.php'.

While emulating to the virtual emulator, the localhost is replace by the ip

address 10.0.2.2, it refers to the local host (127.0.0.1) as 10.0.2.2 like

'http://10.0.2.2/folder_name/ server_file.php'

V. Consideration

While I had many useful experiences at inspires business ideas I feel that I still

need to develop my programming skills in mobile programming using flutter

even migrate completely from ionic framework to flutter framework. I would


have enjoyed more time developing point of sale Application with flutter but I

was at the end of my second month of an internship.

VI. Conclusion

My experience with inspires business ideas was crucial in my development as a

software engineering, I will take the lessons and skills I learned and apply them

to my next position.

VII. References

http://ibi-africa.com/

https://codeigniter.com/

https://flutter.dev/

https://www.json.org/json-en.html

https://www.w3schools.com/js/js_json_intro.asp

https://pub.dev/packages/shared_preferences

You might also like