CNIC Information System with Pakdata Cf In Pakistan
Computer Science Student Final attachment Logbook
1. MULTIMEDIA UNIVERSITY OF KENYA
P.O. Box 15653 - 00503, Mbagathi, Nairobi Tel: +254 020 2071391,
+254 020 735900008 Fax: +254 020 2071243 Email: info@mmu.ac.ke
Leader in Innovative Technology
ATTACHMENT LOGBOOK
FACULTY OF COMPUTING AND INFORMATION TECHNOLOGY
REGISTRATION NUMBER: _____________________________________________
NAME: _________________________________________________
ATTACHMENT FIRM: _________________________________________________
FIELD SUPERVISOR: _________________________________________________
CIT-221-057/2017
Samasource Kenya Ltd
MR. KIPLAGAT ERIC
PAULLASTER AMOLO OKOTH
2. DURATION: 8 WEEKS
THE LOG BOOK
1. INTRODUCTION
This book is to assist the student to keep a record of the training. It will show the departments / sections
in which the student has worked and the periods of time spent in each.
2. DAILY REPORT
The daily work carried out during the periods of training is to be recorded clearly with sketches and
diagrams where applicable.
3. WEEKLY REPORT
This is the summary of work done in a week. Students are required to present the log book weekly to the
industry based / field supervisor for assessment of content and progress. The supervisor can use any
page for his comments where necessary.
4. CHANGE OF ATTACHMENT
A student is expected to start and finish his industrial attachment in one establishment. If it becomes
absolutely necessary that he/she must change his place of attachment, the student should first secure
permission in writing from the university.
His/her application for change of place of attachment should indicate the name and the address (not just
Post Office Box) of the company or industry to which he/she wishes to transfer. Any attachment not
properly authorized will be cancelled.
5. UNIVERSITY SUPERVISOR’S VISIT
The university supervisor from Multimedia University of Kenya will check the logbook when she/he
visits the student to ensure that proper training is being received and record his/her comment on the page
provided for this purpose towards the end of the logbook.
6. SPECIAL REQUEST FOR THE FIELD/INDUSTRY BASED SUPERVISOR
Please assess the student as per the assessment form provided.
7. REPORT WRITING
In addition to the daily and weekly record, the student should submit a summary report of the work done
during the attachment duration e.g. full coverage of the course of attachment including problems
encountered and areas of improvement that the university needs to address to add value and relevance to
the programme being undertaken by the student. The report should contain a summary of activities of
the organization and processes the student was involved in.
The student is expected to point out the weak and strong points of the attachment.
3. WEEK 1
DATE/DAY WORK DONE HOURS
WORKED
REMARKS BY INTERNS
Monday Orientation and Induction into a company's culture.
Induction by direct supervisor and HR team. Project
specific induction by the team Lead
6
Induction successful
Tuesday Reading project manual for Bluetooth based chat
application. Researching on Big Data and NoSQL
databases.
5 Read the project manual
Wednesday Researching on low level APIs i.e Bluetooth. Learning
how to use Bluetooth to collect data about the users
and the nearby devices. Learning permission levels
of the Bluetooth.
6 Researched on Bluetooth API
Thursday Going through the project manual with the team lead
and analyzing the requirements. Doing research on
Agile and spiral software development method.
Discussing on Test Driven Development with the
team and why use it and in what scenarios.
7 Chosen Agile software development
method
Friday Finishing up on the project manual and researching
non functional requirements of the application.
4 Finished reading on manual
Saturday
Remarks
by
Superviso
r
Well followed Schedule. Keep up the good work
2
Field Supervisor Signature. ………e.k……………. Date ……………………………………..
08/12/020
4. STUDENT’S WEEKLY REPORT (WEEK 1)
December 01, 2020 Through December 04, 2020
During the first week of my attachment, I did a comprehensive research on low level APIs
including bluetooth API, NoSql databases and big data. Learning Bluetooth Overview
and basics, Bluetooth permissions,
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
if (ContextCompat.checkSelfPermission(baseContext,
Manifest.permission.ACCESS_BACKGROUND_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(
MyActivity.this,
new
String[]{Manifest.permission.ACCESS_BACKGROUND_LOCATION},
PERMISSION_CODE)
}
}
<manifest ... >
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission
android:name="android.permission.BLUETOOTH_ADMIN" />
<!-- If your app targets Android 9 or lower, you can declare
ACCESS_COARSE_LOCATION instead. -->
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" />
...
</manifest>
Bluetooth with different profiles, setting up Bluetooth,
BluetoothAdapter bluetoothAdapter =
BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter == null) {
// Device doesn't support Bluetooth
}
if (!bluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new
Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}
Finding a devices, Querying paired devices, discovering devices and enabling
discoverability,
Student Signature. ………………………. Date ……………………………………..
5. WEEK 2
DATE/DAY WORK DONE HOURS
WORKED
REMARKS BY INTERNS
Monday Designing the splash screen User Interface.
Implementing splash screen logic and configuring the
necessary permissions on the manifest file. Adding a
user guide screen using fragments and implementing
logic for the user guide screen that help new users to
onboard.
8
Implemented Splash screen UI and
User guide screen and embedded the
logic
Tuesday Adding the Main activity screen. Designed the Main
activity User Interface. Added the logic to turn on
Bluetooth and allow for device discoverability for 5
seconds with all the Bluetooth devices in range.
7 Implemented the main activity screen
Wednesday Adding the logic text editing option to allow sending
messages and adding options for file sharing
including photos, pdf, doc, and contacts. Added the
button for viewing the list of paired devices and
available devices.
8 Main activity buttons added successfully
Thursday Designing device activity User Interface. Adding the
scan button to enable scanning of all the devices
within the range. Added the section for displaying
paired devices and available devices that were
discovered during scanning.
8 Device activity UI and buttons added
successfully.
Friday Embedded the logic to connect to a bluetooth device
in the paired devices list or available list and establish
the connection between the two devices.
6
Code to connect Bluetooth devices
added successfully.
Saturday
Remarks
by
Superviso
r
So pleased with you progress so far, Keep up the awesome work
4
6. Field Supervisor Signature. ………………………. Date ……………………………………..
STUDENT’S WEEKLY REPORT (WEEK 2)
December 07, 2020 Through December 11, 2020
During the second week, I designed the user interface for the application. The first screen
to view when launching the application was the splash screen.
The splash screen was explicitly coded to last 3 seconds then the onboarding screen
appears for new users. The next activity was to design the main activity screen layout.
The main activity descreen displayed to the user the functionality buttons and also
provided a chat functionality with an option to share attachments.
The final activity of week two was designing device list activity layout to show a list of
paired devices, available devices a button to allow users to scan for available devices.
Student Signature. ………………………. Date ……………………………………..
e.k 14/12/020
7. 5
WEEK 3
DATE/DAY WORK DONE HOURS
WORKED
REMARKS BY INTERNS
Monday Embedding the logic the indicate the name of devices
connected and the status of connection. Adding the
logic to send the massage between the connected
devices ensuring it is secure as only the connected
devices can share information.
8
Was able to add the functionality to
send a message between two devices
that are connected using Bluetooth.
Tuesday Creating the build of the first version of the
application. Running it directly on different devices to
test the application.
6 Application worked as expected on all
the devices used for testing.
Wednesday Researching on Web APIs and REST and RESTful
APIs. Researched of Node.js files handling library
‘Fs’ and other native libraries that are native in node.
Researched on managing file system using Node.js
8 Learnt REST APIs and how to work with
fs module in Node.js
Thursday Discussing the project specification with Team
Leader. Reading the ‘Uplink monitor’ project manual 6 Project manual is well documented
Friday Researched on Memory management in JavaScript
Data structure and algorithm in JavaScript .
Reading the project manual
7 Gained skills of writing optimized
algorithms in JavaScript
Saturday
Remarks
by
Superviso
r
Great work
8. Field Supervisor Signature. ………………………. Date ……………………………………..
6
STUDENT’S WEEKLY REPORT (WEEK 3)
December 14, 2020 Through December 18, 2020
During the third week, I conducted a comprehensive research on Restful APIs and web APIs.
Restful and Web services,
Researched Node.js a javascript back end library and how enable real time application using Node.js
Student Signature. ………………………. Date ……………………………………..
9. 7
WEEK 4
DATE/DAY WORK DONE HOURS
WORKED
REMARKS BY INTERNS
Monday Initializing the uplink monitor project. Coded the
application development and production server.
Stated application settings. Launched the application
server while listening on a development port.
4 Application server launched
successfully
Tuesday Creating a configuration file in a separate folder in the
applications root folder. In the configuration file
defining configuration variables like port number for
staging and production for both http and https and
adding them to the environment object.
5 Created configuration file
Wednesday Defining a unified server logic for both http and https
pin the application index file(Server file). Extracting
path from parsedUrl pathname property and trimming
the resultant path. Getting a query object from the
parsedUrl query property.
4 Path and Query object extracted
Thursday Getting the https/http method and header from the
request method and header properties respectively.
Adding Node.js String Decoder library and using the
String Decoder to receive chunks of payload as they
stream in when data event is emitted.
6 Payloads received on testing with
postman API client
Friday Defining application request routes in an object.
Defining a handler function and embedding the logic
to check if the route is undefined to signe to it the
trimed route of the incoming request if it is in the
router object else prompt the user path not found
7 Choose handler logic embedded
successfully.
Saturday
Remarks
by
Superviso
r
Good work
10. Field Supervisor Signature. ………………………. Date ……………………………………..
STUDENT’S WEEKLY REPORT (WEEK 4)
January 04, 2021 Through January 8, 2021
During week four, I created the Uplink monitor application main and configuration file. In the main file
Instantiating both http and https server while in configuration file setting application configurations for
different environments and different configuration variables.
Student Signature. ………………………. Date ……………………………………..
9
e.k 04/01/021
11. WEEK 5
DATE/DAY WORK DONE HOURS
WORKED
REMARKS BY INTERNS
Monday Defining data construct to send to the handler and
assigning it properties including ; trimed path,
method, header, query object and payload.
Adding the logic to route the request to the specified
handler in the router. Converting received payload
JSON into a string.
5
Request routed
Tuesday Adding the payload as part of the response from the
application on end event is emitted. Adding openssl
cert.pem and key.pem to be able to use the https.
Instantiating https server as an object and providing
the cert and key as keys.
7
Instantiated https server
Wednesday Adding a data file to define the library for editing data.
Defining a container object that will bear all the
methods to store and edit files. Defined a base
directory a method to the object container.
Embedded the logic to create a file and read a file as
methods to the container object.
8
File create and read methods added to
the container object successfully
Thursday Embedding the logic to update an existing file as a
method to the container object. Added the logic to
delete files and exported the container object.
Adding handlers file and defining handlers object
handle all the HTML. Adding to handlers object index
method that will check if the http or https method and
reject if it is not a get method otherwise display
template data with title and description.
8
Handlers index method successfully
added
Friday Created a helper file to help accomplish various tasks
and defined helper objects. In the helper object,
added a test method getNumber that returns a
number, method to parse JSON to object and
embedded the logic, hash method.
8
Added a helper file
Saturday
Remarks
by
Superviso
r
So happy with the progress. Good work
12. Field Supervisor Signature. ………………………. Date ……………………………………..
STUDENT’S WEEKLY REPORT (WEEK 5)
January 11 , 2021 Through January 15, 2021
During week five, I was implementing the back end functionality for creating, reading, updating and delete.
Receiving the payload from the user and testing using postman
Student Signature. ………………………. Date ……………………………………..
11
e.k 18/01/021
13. WEEK 6
DATE/DAY WORK DONE HOURS
WORKED
REMARKS BY INTERNS
Monday Embedding the logic for the helpers hash method to
hash password with the help of Node crypto library
and the hashing secret defined in the configuration
file. Added to helpers a method for creating random
strings from a list of possible defined characters.
6 Hashing and create random string logic
embedded successfully
Tuesday Adding to helpers a method to send Twilio sms and
embedding the logic to send a message to a phone
number from the application. Adding to helpers a
method get template and embedding the logic to get
the string content of the template and use the
provided data for interpolation.
8
Embedded logic to send message
successfully
Wednesday Adding to the helpers a method add Universal
Template and embedded the logic to add the
universal header and footer to a string and also pass
provided data into header and footer interpolation.
Adding interpolation method to helpers and
embedding the logic so that it takes a string and data
object, find and replace all the keys within it.
8
Interpolation logic worked as expected.
Thursday Adding to the helpers a method to get static asset
content and exporting helpers module. Adding to
handlers a method for account creation and
embedding the account creation logic. Adding to
handlers a method for session creation and
embedding the session creation logic.
8 Logic for account and session creation
added successfully.
Friday Adding to handlers a method for editing account or
account modification and embedding the account
editing logic. Adding a method for session deletion to
handlers and embedding the session deletion logic.
Adding the method and logic for account deletion to
the handlers object.
8
Added the logic for account
modification, session and account
deletion successfully.
Saturday
Remarks
by
Superviso
r
Keep up the awesome work
14. Field Supervisor Signature. ………………………. Date ……………………………………..
STUDENT’S WEEKLY REPORT (WEEK 6)
January 18, 2021 Through January 22, 2021
During week six, I implemented the logic for sending short messages to the application users with their
connection created not exceeding 5 using twilio. Added the logic to manage the users token and only allow
users to access connections created by their numbers.
Student Signature. ………………………. Date ……………………………………..
13
e.k 25/01/021
15. WEEK 7
DATE/DAY WORK DONE HOURS
WORKED
REMARKS BY INTERNS
Monday Adding methods for creating API checks to handlers
and embedding the logic for creating checks. Adding
a checklist method and the logic to helpers. The
checklist will display all the checks created on the
user's dashboard. Including checks edit method and
the logic to the handlers to allow users to edit checks
created.
8 Logic for checks creation, check listing
on dashboard and checks editing
embedded successfully
Tuesday Adding favicon method to the handlers and
embedding the logic to display favorite icon on
browser tab. Adding a public method to handlers and
adding the logic to direct it to use and access the
front end assets in the public folder. Adding JSON
API handlers i.e a ping method to the handlers.
8
Added JSON API handler
Wednesday Adding error and missing page and their logic to
handlers. Adding user method and logic to handlers
for all user methods. Adding to handlers’ _users sub
object and _users post, get, put and delete method
for creating, finding, updating and deleting users'
accounts.
10 Users created, searched, updated and
deleted successfully.
Thursday Adding to handlers a token method. Adding to
handlers _token sub object and adding to _token
object a post, get, put and delete methods for
creating, finding, updating and deleting tokens.
Adding method to verify if a token id is currently valid
for a given user to the _token object.
10
Tokens created and verified
successfully.
Friday Adding to handlers a check method. Adding to
handlers a _check sub object and adding to _check
object post, get, put and delete methods for creation,
finding, updating and deletion of checks. Adding
workers file an instantiating worker object
10
Checks created successfully
Saturday
Remarks
by
Superviso
r
Great work. Keep it up
16. Field Supervisor Signature. ………………………. Date …………………………………….
STUDENT’S WEEKLY REPORT (WEEK 7)
January 25, 2021 Through January 29, 2021
During week seven, I implemented the logic for user tokens, creating, reading, updating token, deleting token and
creation, reading, updating and deleting of checks and sanitized the checks.
Student Signature. ………………………. Date ……………………………………..
15
e.k 01/02/021
17. WEEK 8
DATE/DAY WORK DONE HOURS
WORKED
REMARKS BY INTERNS
Monday Adding a method to perform check lookup, get their
data and send to validator to the workers object.
Adding a method to sanitize the check data to the
workers object. Adding a method for performing
check, and sending the original check data and the
outcome to the next process
10
Checks sanitizer method added
successfully
Tuesday Adding a method to process the outcome, updating
the check data as needed and triggering alert in case
otherwise and also and a logic for accommodating a
check that has not been tested without. Adding a
method for alerting the users to signal a change of
status on their checks. Adding a method to send
check data to a log file, a method for execution timer.
10 Checks processed, logged to file and
timer execution added.
Wednesday Adding a method to: compress the log files, time log
file compression to once per day and to initialize the
worker module. Added a server file and initiated a
server module object to instantiate https, http server.
Added a process response method defined the routes
and initialized the module.
10
File to perform server related task
added
Thursday Added a log file with all the functions for sorting and
compressing the logs. Added index, footer, header,
create Account, delete account, edit account, create
check, edit check, list check, create session and
delete session html files. Added application css file
and front end logic script for consuming back end API
10
Front end logic and presentation added.
Friday Added the test runner file and API test for testing API
in the runner.
Added the unit test file and tested in the runner.
Debugged the application and generated the debug
file, cluster file and strict file for the API primary file
8 Application Build successfully
Saturday
Remarks
by
Superviso
r
Good work
18. Field Supervisor Signature. ………………………. Date ……………………………………..
STUDENT’S WEEKLY REPORT (WEEK 8)
February 01, 2021 Through February 05, 2021
During week eight, I was testing the application having both the frontend and backend complete. Thereafter
create a build version of the application that was ready for production.
Student Signature. ………………………. Date ……………………………………..
17
e.k 08/02/021
19. TO BE FILLED BY UNIVERSITY SUPERVISOR
ONLY General comments:
Name of Supervisor: ________________________________________
Signature:_________________________________________________
Date:_____________________________________________________