Вы находитесь на странице: 1из 15

ICT80004

Internship Project - Prompa

Swinburne University
Of Technology
ICT80004 Internship Project

Final Report on
Internship Project of
Prompa

Swinburne Software Innovation Labs


(SSIL)
Swinburne Supervisor: Caslon Chua
March 2015 May 2015
SATISH KRIS

4921232

ICT80004

SATISH KRIS

Internship Project - Prompa

4921232

ICT80004

Internship Project - Prompa

Abstract
This document will provide a detailed description about my learning
and experience during my internship at Swinburne Software
Innovation

Labs.

Currently, Im in my final semester of Masters Degree therefore I


have complete a three month internship. The reason why I chose to
do internship with Swinburne Software Innovation Labs is since I had
some previous experience with web application systems and my
interest in software, I was assigned to make some front-end
additions and a backend model to facilitate in the database. Also, I
wanted a new challenge in my internship. I wanted to learn a new
language that is currently being used in the development world and
also developed my interpersonal skills and new skill sets.
This report explains what I have learned during this internship
describing regarding the list of description of requirements that was
need to be changed and some new requirements that was needed
to be included. This will also contain an overview about SSIL and
their services they are focused to deliver, activities and tasks that I
worked during my internship. Furthermore in this report, I will also
describe my learning experience that will give a review of my
learning experience.

SATISH KRIS

4921232

ICT80004

Internship Project - Prompa

Table of contents
ABSTRACT

TABLE OF CONTENTS

INTRODUCTION

ORGANIZATION

PROJECT

ACTIVITIES

LEARNING EXPERIENCE

CONCLUSION

10

HANDOVER PROMPA

12

SATISH KRIS

4921232

ICT80004

Internship Project - Prompa

Introduction
Organization
The Swinburne Software Innovation Labs (SSIL) is a software
research and development lab delivering high-impact software
solutions and research to Victorian industry.
SSIL is a Research-Driven Innovation for High-Impact Software
Solutions some of their solutions have saved lives, created more
sustainable cities and increased the competitiveness of business.

Swinburne in alliance NICTA (National Information Communication


Technologies Australia Ltd) have launched a new software Research
and Development laboratory to deliver high-impact solutions named
as SSIL.
SSIL practices rapid software development process to bring fully
functional prototypes for testing with end-users, usually with in six
weeks. This process has been producing superior solutions as
informed by real world experience.

SATISH KRIS

4921232

ICT80004

Internship Project - Prompa

The main areas SSIL focuses are,

Digital Health: using software and mobile technology to

improve health and quality of life.


Smart Cities: developing autonomous systems of smart
sensors and devices to create safer, more secure and livable

spaces.
Advanced Software Infrastructure: developing operating
systems to support a range of devices across existing and

emerging platforms.
Digital Business Process: using ICT to optimise how
businesses

operate

for

increased

competitiveness

and

sustainability.
The NICTA Swinburne Software Lab will give Victorian companies
access to some of the worlds best researchers in areas such as
software engineering, data analytics and optimisation, matched
with the ability to quickly transform that research into clear
commercial benefits Professor Hugh Durrant (NICTA CEO)
Some of SSILs top clients are Alfred Hospital, VicRoads, Australian
Government Department of Defence, Telstra, Prompa and many
more.

Project
The purpose of this document is to provide a comprehensive
description of Prompa Simple Staffing Solution project in which I
worked on during my final semester degrees internship unit at
Swinburne University of Technology. This document will also explain
the implementation and the improvements made in Prompas frontend and backend during the three months of internship. All activities

SATISH KRIS

4921232

ICT80004

Internship Project - Prompa

will be explained in textual description explaining the workflow


functionality

of

Prompa.

Additional

diagram

and

images

demonstrating the additional functionality of adding tables, pages,


ruby models and ERD diagrams showing the relation between
database entities. This report can be used for all the stakeholders of
the project.
Prompa is a simple to use and completely cloud based project it
simplifies staffing by uniting Clients, Agents, Supervisors and Staf
on one platform. Prompa will decrease your operating cost through
its tools like real-time rostering, paperless timesheet and location
verification/tracking.
Prompa streamlines staf management workflow from your clients
request, rostering, time-sheeting and payroll data management all
on the one platform. Some of its key functionalities are managing
shifts, creating rosters, creating/editing employees information,
communication, Automated timesheets logging and uploading to
payroll software and Admin panel etc.,
Prompa is primarily designed but not limited to facilitate the process
of managing the staf rosters allocation and updating. The main
objective is to provide a company to handle various staffing and
allocation activities

like,

Managing

Staf

profile,

staf

rating,

timesheets, and their payroll information all in one platform and the
goal is to make it simpler for end users to use. Check-in, log
timesheets and communicating with other staf and supervisors in
one place, no more SMS and also no more tedious process of
maintaining paper timesheets with the implementation of new
feature for automated timesheet and uploading to payroll software.
Currently Im involved in adding user interface for current roster
work information and all previous work history information of

SATISH KRIS

4921232

ICT80004

Internship Project - Prompa

working stafs in table format. Also we are including the payroll


feature, which is a new requirement, which includes the payroll
generation configuration in the application, just the front-end and a
download button. Additionally creating PayScale model in ruby,
which describes diferent wage information respectively depending
on various job categories. Testing this model by adding test data
using Postman client.
The application is currently available on all three platforms Web,
Android and iOS.

SATISH KRIS

4921232

ICT80004

Internship Project - Prompa

Activities
The objectives and tasks in this project is to fulfil the work to be
done on the front-end web interfaces of Prompa. However some of
the tasks are listed but not limited to,
1. Designing web pages for front-end interface
a. Adding glyphicons for user profile ratings.
2. View and add additional modals and events to certain
modules
3. Improvements in the Staf section
a. Created roster table and populate data from the APIs
b. Created work history table and populate data from the
APIs
c. Adding payroll generation modal with attributes as
configuration
4. Generate Payroll Modal
a. The user can use this modal to generate payroll data
like start and end date, name and number of hours
worked. The data can be downloaded in .csv format.
This is only the front-end functionality.
b. Creating a PayScale Model in ruby.
c. Created a PayScale API on Rails using ruby to populate
the payscale wage information from the postgres
database according to the job categories in Angular JS.
5. As mentioned in the Software Requirements Specification
document, Prompa project is already been developed however
there are certain functionalities need to be added like rating.
6. Minor issues
a. Testing the model by adding dummy data to the model
and using Postman client a Google chrome extension to
test the API.
b. Few issues were faced during integration of work done
on git repository like merging issues, but it was
eventually resolved.
7. Integrating the work on Git Repository

SATISH KRIS

4921232

ICT80004

Internship Project - Prompa

Learning experience
This internship with SSIL gave me the learning platform for latest
technologies that are being used. It is also an opportunity and
pathway to the professional working culture in ICT industry. I had
previously done few assignments as part of my programming units
in my degree and some freelance project but I was not confident
then as I am now. The assignments that were completed very small
scale limited to basic requirements of project and testing of those
assignments were not done up to the standards. But this experience
was very much exiting it gave me an opportunity to learn and
understand the working culture in an actual environment including
the actual project structure, coding standards followed in developing
any project what approach should be followed in delivering the
tasks.
In my tenure I learnt about developing and delivering the projects
on time following the deadline and working in a time constrained
environment.

Managing

the

tasks

and

prioritizing

the

tasks

accordingly, sometime during the project I was running behind the


schedule and saw how it was afect the overall schedule of the
project. Apart from non-technical stufs, I learnt more about
The technical languages I used in developing the frontend, backend,
MVC, SublimeText editor and operating terminal commands for git
merging and starting and stopping projects server.

At the end of

this internship, I can say that I learnt a lot about various


technologies although 3 months is a small time to learn new
language, understand the existing project structure modules and
develop additional functionalities. I am now confident in managing
my time and become confident in learning and adapting to new
languages.

SATISH KRIS

4921232

10

ICT80004

Specifically

Internship Project - Prompa

to

work

on

Prompa

using

Angular

JS

front-end

framework, Ruby on Rails, Bootstrap, basics of Cofee script, sublime


text, migration feature in Rails, Postgres, Git operations using
Command Line. The most important part in my experience is to
understand the existing project very well in terms of design and
studying the existing code and their project structure, before adding
new functionalities, as it is very important to follow the coding
standards. As these coding standard are being followed in the
project by all the other team members it will be easy for them to
read and understand the code and similarly it will be easy to take
some new team member on abroad and explain him the project.
In my experience working in a real project Ive realised how a small
change in the program can result in failure of an entire website. In
this case, one has to rely on Google chromes developer console for
debugging. Therefore one has to be very cautious while changing
any part of the program and evaluate its afects. It is also a good
practice to have a backup of the project but using Git Repository for
version controlling make it more easily to manage the changes in
the project. This has given me more confidence to work on live
project and know before hand where the program might break while
making some updates and modifications as required.
I have improved in several areas like joining the already build
project and jumping on board with them quickly, picking up new
languages,

understanding

communication

in

the

code,

organisation,

maintaining
improving

professional
interpersonal

characteristics. Overall this internship has helped in building my


personality

reflecting

professionalism

behaviour

and

it

has

strengthened my coding skills.

SATISH KRIS

4921232

11

ICT80004

Internship Project - Prompa

Conclusion
The past three months of my internship have been an excellent and
rewarding experience. SSIL has ofered me lot of opportunities to
learn and improve my in numerous regions. I have possessed the
capacity to meet and network with lot of multi-talented individuals
that I am certain with this experience I will have the capacity to face
any circumstances and work confidently in future companies. This
has also helped me a lot to enhance my logical thinking abilities and
programming capacity.
A lot of tasks and activities that I worked during my term in this
internship were similar to what I studied in my previous units,
although the languages like AngularJS, Ruby and CofeeScript were
knew to me, I took reasonable time to learn and implement them in
the program. Another primary thing that I have adapted through this
internship is time management skill and self-motivation. I learnt that
I needed to be organised in my work and be ready with questions to
ask relating to the current and the future tasks. I also learnt to
motivate myself through working the office to fix the problems by
finding solutions.
There is a major diference between the university assignments and
the tasks and activities in real work environment. In assignments we
learnt to study the problem and write a branch of the simple
solution, whereas in actual work I learnt how to implement in live
projects without breaking down the website.
I had fun during my software development internship experience at
Swinburne Software Innovation Labs. My mentor during this
internship was Allan Jones, who guided me a lot in bring me on par
with the current project and helping me in troubleshooting the
issues that came along. I learnt a lot from him and he introduced me
SATISH KRIS

4921232

12

ICT80004

Internship Project - Prompa

to new ways of approaching to write the code and test the written
programs that makes debugging and programming quicker. As a
software engineer with more than 4 years of experience he has
quality and up to date knowledge in the working areas that I
explained in my activities. He was extremely helpful and continually
giving me advice and guidance which I appreciate. I have attempted
to take in as much as possible from Allan during my term and learn
from him.
This internship was with out doubt very beneficial for me and Im
appreciative and grateful to have been given this opportunity by the
Director Kon Mouzakis and Head of R&D Dr Rajesh Vasa of SSIL to
learn and experience many things.

SATISH KRIS

4921232

13

ICT80004

Internship Project - Prompa

Handover Prompa
Purpose
The purpose of this document is to detail the activities and
responsibilities of the team member leaving the organization to be
handed over to the host organization and the incoming team
member.
Key activities
The key activities carried out by me during the period of my
internship are:

Modifying and Adding Frontend Pages and Modals


Modifying Controllers to add functionalities.
Creating a model in Ruby on Rails
Creating an API and testing it on Postman Client.

Declaration:
I,

Satish

Krishnamurthy

have

completed

all

the

task

and

responsibilities mentioned in this project report during my tenure at


Swinburne Software Innovation Labs as an intern. I have adhered to
the

policies

and

the

procedure

of

Swinburne

international

department at all the times during the internship program.


Intern: Mr Satish Krishnamurthy
___________________________
________________________
Signature
Date: 28-05-2015
Host organization Supervisor: Mr Allan Jones

SATISH KRIS

4921232

14

ICT80004

Internship Project - Prompa

___________________________
________________________
Signature
Date: 28-05-2015

SATISH KRIS

4921232

15

Вам также может понравиться