Installation And Usage Guide

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 20

LCJJSE:PTDevelopmentTeam
Appointment
BookingSystem
Installation&Usage
BytheLCJJSE:PTDevelopmentTeam
1
LCJJSE:PTDevelopmentTeam
TableofContents
Introduction 4
System Prerequisites (DevOps only) 4
Operating System 4
Command Prompt 4
Web Browser 4
PHP 7.0.1 + 4
Important 5
Composer 5
Copy of the Application 5
Installation (DevOps only) 6
Moving Application 6
Installing Composer Dependencies 6
Creating an .env (environment) file 6
Generating a key 6
Migrate the Database 7
Starting a Server 7
Usage 8
Functionality 8
Customer 8
Business Owner (Administrator) 8
Requirements 9
Customer 10
Register 10
Login 11
View Bookings 12
Business Owner (Administrator) 13
Register 13
Login 14
2
LCJJSE:PTDevelopmentTeam
Create Employee 15
Create Business Time 16
Remove Business Time 16
Edit Business Time 16
View Business Information 17
View Summary of Bookings 18
View History of Bookings 18
Create Working Time 19
Remove Working Time 19
Edit Working Time 19
Create Activity 20
Create Booking 20
 
3
LCJJSE:PTDevelopmentTeam
Introduction
TheAppointmentBookingSystemisaSoftwareEngineering:Process&Toolsproject.The
systemisdevelopedusingPHPastheprogramminglanguagewithLaravel(aPHP
framework).
Thisdocumentwillassumethereaderhasbasicknowledgeinoperatingacomputerand
basicwebusageonthesystem.
Deployingthissoftwareforproductionuseismanagedwithadevisacquiredthrough
runningwebhostingsoftware(Apache)andarelationaldatabasemanagementsystem
(MySQL,PostgreSQL).
Forfunctionalitysake,thedocumentwillgothroughthesetuptousePHP(runningalocal
servercommand)andSQLite(localdatabase)tohostonURLhttp://localhost:8000.
SystemPrerequisites(DevOpsonly)
Thefollowapplicationrequirestheproperenvironmenttorunthesoftware.
OperatingSystem
ItisrecommendedtouseWindows10Pro
asithasbeentestedanddevelopedaccordingly.
Otheroperatingsystemsmaywork,thoughconfigurationwillbeoutreachforthis
documentation.
CommandPrompt
TousePHPorruninstallationcommands,aterminalmustbeusedthatcanrunbinary
programs.WindowscomeswithcommandpromptbydefaultandterminalforMacOS.
WebBrowser
Almostanylatestcommonwebbrowsercanbeusedtovisittheapplicationwebpages.
ThoughtheGoogleChromebrowserisrecommendedsinceithasbeentestedand
developedwithnofunctionalityissues.
PHP7.0.1+
SystemrequiresaPHPbinarypackagewithversion7.0.1orlater.Gothroughtheinstallation
providedbyphp.net.
ToverifyifPHPisrunningonyoursystem,runthefollowingcommand`php-v`
ona
--commandprompt.
4
LCJJSE:PTDevelopmentTeam
Important
OncePHPisinstalledonthecomputer,thefollowingPHPextensionsmustbeenabledto
allowtheapplicationtorunproperly.
OpenSSL
PDO
Mbstring
Tokenizer
Sqlite3
XML
FileInfo
InstructionstoenableextensionsforWindowsishere.Otherwise,asimpleGooglesearchon
howtoenablePHPextensionsonotheroperatingsystemsisrelevant.
Composer
LaravelreliesonaPHPdependencymanagertoinstallthird-partysoftwaresuchas
Bootstrap(aCSSframework).
ToverifythatComposerisinstalled,runthefollowingcommand`composer-V`.
CopyoftheApplication
Makesureallfilesexistasshownontheimage.
5
LCJJSE:PTDevelopmentTeam
Installation(DevOpsonly)
MovingApplication
Simplyplacetheapplicationfilesinanaccessibleplaceonthelocalcomputerwithproper
read,writeandexecutepermissions.
InstallingComposerDependencies
Openacommandpromptandchangedirectorytotheapplicationfolder.
Runthefollowingcommand`composerinstall`
toinstallrequireddependencies.
Creatingan.env(environment)file
Laravelhaspredefinedconfigurationsthatcanbemodifiedtosuitdifferentworking
environments.Whetherthatisadevelopment,testingorproductionenvironmentwiththe
framework.
Therequiredconfigurationneededisaproductionenvironment.Todoso,thereisa
‘.env.example’
filelocatedattherootoftheapplicationfolder.
Renamethefilefrom‘.env.example’
to‘.env’.
ThisletLaravelknowthatthereisauser
definedconfigurationfortheenvironment.
Generatingakey
TheLaravelPHPframeworkneedsakeytobegeneratedbeforeusage.Runthefollowing
command`phpartisankey:generate`
attherootoftheapplication.
6
LCJJSE:PTDevelopmentTeam
MigratetheDatabase
Runthefollowingcommand`phpartisanmigrate:refresh`
tomigratedatabaseschemas
(createtablesinthedatabase).Usingthe`--seed`flagisalsousefultoaddpredefineditems
tothedatabase.
Ignorethetimestampprefixonthefiles,theydonothavetobeexactlythesameasoutput
shownabove.
StartingaServer
Runthefollowingcommand`phpartisanserve`
tostartalocalhostserverthrough
commandprompt.
Theapplicationisnowreadytobeusedthroughhttp://127.0.0.1:8000or
http://localhost:8000.
 
7
LCJJSE:PTDevelopmentTeam
Usage
ThissectionwillgothroughallfunctionalityoftheAppointmentBookingSystemapplication.
ThefollowinginstructionswillassumethattheapplicationURLishttp://localhost:8000and
whentoldtovisitacertainpagegivenitsroute(e.g./login)representstheURL
http://localhost:8000/login.
Functionality
Theapplicationcandothefollowingactionsorganisedbytheroleoftheuserofeither
customerorbusinessowner.
Customer
Useristonotdoanyadministratoractionsandonlybeabletodothefollowing:
Login/Registerascustomer
AddBookingwithoutemployee
ViewCustomerBookings
Logout
BusinessOwner(Administrator)
Userisabletodoallactionsprovidedbytheapplication(superuser).Thisincludescustomer
actions.
Login/Registerasbusinessowner(includesregisteringthebusiness)
AddEmployee
AddWorkingTime
EditWorkingTime
AddBooking
AddActivity
8
LCJJSE:PTDevelopmentTeam
AssignEmployeetoBooking
ViewBusinessInformation
ViewEmployeeAvailability
ViewaSummaryofBookings
ViewaHistoryofBookings
Logout
Requirements
Theonlysoftwareneededtousetheapplicationisawebbrowserasstartedinthesoftware
prerequisites.
9
LCJJSE:PTDevelopmentTeam
Customer
Register
Visitthe/registerpageandfillcustomerdetailsintheinputform.
Clickthe‘Register’buttontosubmitthecustomerregistrationform.Oncetheformhasbeen
successfullysubmittedandvalidated,aredirectionto/loginandamessageshownstatinga
successfulcustomerregistration.
10
LCJJSE:PTDevelopmentTeam
Login
Visitthe/loginpageorrootoftheapplication(http://localhost:8000/willredirectto/login).
Therewillbeaninputformdisplayedwithfieldsusernameandpassword.
Itisimportantthatacustomerusernameandpasswordmustexistbeforeloggingin.Follow
thecustomerregistrationsectiontocreateanewcustomer.
Oncetheloginformisfilled,clickthe‘Signin’buttonandthepagewillredirectto/bookings
iftheloginwassuccessful.
11
LCJJSE:PTDevelopmentTeam
ViewBookings
Visit/bookingstoviewallcustomerbookings.
 
12
LCJJSE:PTDevelopmentTeam
BusinessOwner(Administrator)
Register
Visitthe/admin/registerpageandfillbusinessownerdetailsintheinputform.
Clickthe‘Register’buttontosubmitthebusinessownerregistrationform.Oncetheformhas
beensuccessfullysubmittedandvalidated,aredirectionto/loginandamessageshown
statingasuccessfulbusinessownerregistrationincludingthebusinessitself.
13
LCJJSE:PTDevelopmentTeam
Login
Visitthe/loginpageorrootoftheapplication(http://localhost:8000/willredirectto/login).
Therewillbeaninputformdisplayedwithfieldsusernameandpassword.
Itisimportantthatabusinessownerusernameandpasswordmustexistbeforeloggingin.
Followthebusinessownerregistrationsectiontocreateanewbusinessowner.
Oncetheloginformisfilled,clickthe‘Signin’buttonandthepagewillredirectto/adminif
theloginwassuccessful.
14
LCJJSE:PTDevelopmentTeam
CreateEmployee
Visitthe/admin/employeespagetoaddemployees.Businessownermustberegistered
andloggedintodothefollowingactions.
Fillouttheformprovidedonthepageandclickthe‘CreateEmployee’buttontosubmitthe
form.
Oncetheformhasbeensubmittedandtheinputisvalid,anewemployeeiscreated.0
 
15
LCJJSE:PTDevelopmentTeam
CreateBusinessTime
Visitthe/admin/timespagetocreatebusinesstimes.Businessownermustberegistered
andloggedintodothefollowingactions.
Fillouttheformprovidedonthepageandclickthe‘CreateBusinessTime’buttontosubmit
theform.
RemoveBusinessTime
Removebusinesstimebyclickingonthe‘x’buttonofabusinesstime.
EditBusinessTime
Clickontheeditsymbolofabusinesstimetomakechangestothebusinesstime.
 
16
LCJJSE:PTDevelopmentTeam
ViewBusinessInformation
Visitthe/adminpagetoviewbusinessinformation.Businessownermustberegisteredand
loggedin.
 
17
LCJJSE:PTDevelopmentTeam
ViewSummaryofBookings
Visitthe/admin/summarypagetoviewemployeeavailability.Businessownermustbe
registeredandloggedin.Thisactionissimilartoviewingemployeeavailabilitysinceboth
functionsareonthesamepage.
ViewHistoryofBookings
Visitthe/admin/historypagetoviewemployeeavailability.Businessownermustbe
registeredandloggedin.
 
18
LCJJSE:PTDevelopmentTeam
CreateWorkingTime
Visitthe/admin/rosterpagetoaddworkingtime.Businessownermustberegisteredand
loggedintodothefollowingactions.Anemployeemustexisttocreateaworkingtime.
Fillouttheformprovidedonthepageandclickthe‘AddWorkingTime’buttontosubmitthe
form.
Oncetheformhasbeensubmittedandtheinputisvalid,anewworkingtimeiscreated.
RemoveWorkingTime
Clickontheremoveiconwithinthecalendartoremoveaworkingtime.
EditWorkingTime
Visitthe/admin/roster/{id}/editpagetoeditanemployeeworkingtime.The{id}intheURL
selectstheworkingtimeIDfromthedatabase.
Noticethewarningshowontheimageabove.Oncetheworkingtimehasbeenchanged,all
assignedbookingsareunassigned.Thiswillsafelymakeallemployeesworkingonproper
times.
19
LCJJSE:PTDevelopmentTeam
CreateActivity
Visitthe/admin/activitypagetocreateanactivity.
CreateBooking
Fillthefollowingformbelowtocreateabooking.
Usetheemployeeavailabilityasareferencetocreateabooking.
20

Navigation menu