Installation And Usage Guide
User Manual:
Open the PDF directly: View PDF .
Page Count: 20
LCJJSE:PTDevelopmentTeam
Appointment
BookingSystem
Installation&Usage
BytheLCJJSE:PTDevelopmentTeam
1
LCJJSE:PTDevelopmentTeam
TableofContents
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
LCJJSE:PTDevelopmentTeam
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
LCJJSE:PTDevelopmentTeam
Introduction
TheAppointmentBookingSystemisaSoftwareEngineering:Process&Toolsproject.The
systemisdevelopedusingPHPastheprogramminglanguagewithLaravel(aPHP
framework).
Thisdocumentwillassumethereaderhasbasicknowledgeinoperatingacomputerand
basicwebusageonthesystem.
Deployingthissoftwareforproductionuseismanagedwithadevisacquiredthrough
runningwebhostingsoftware(Apache)andarelationaldatabasemanagementsystem
(MySQL,PostgreSQL).
Forfunctionalitysake,thedocumentwillgothroughthesetuptousePHP(runningalocal
servercommand)andSQLite(localdatabase)tohostonURLhttp://localhost:8000.
SystemPrerequisites(DevOpsonly)
Thefollowapplicationrequirestheproperenvironmenttorunthesoftware.
OperatingSystem
ItisrecommendedtouseWindows10Pro
asithasbeentestedanddevelopedaccordingly.
Otheroperatingsystemsmaywork,thoughconfigurationwillbeoutreachforthis
documentation.
CommandPrompt
TousePHPorruninstallationcommands,aterminalmustbeusedthatcanrunbinary
programs.WindowscomeswithcommandpromptbydefaultandterminalforMacOS.
WebBrowser
Almostanylatestcommonwebbrowsercanbeusedtovisittheapplicationwebpages.
ThoughtheGoogleChromebrowserisrecommendedsinceithasbeentestedand
developedwithnofunctionalityissues.
PHP7.0.1+
SystemrequiresaPHPbinarypackagewithversion7.0.1orlater.Gothroughtheinstallation
providedbyphp.net.
ToverifyifPHPisrunningonyoursystem,runthefollowingcommand`php-v`
ona
--commandprompt.
4
LCJJSE:PTDevelopmentTeam
Important
OncePHPisinstalledonthecomputer,thefollowingPHPextensionsmustbeenabledto
allowtheapplicationtorunproperly.
●OpenSSL
●PDO
●Mbstring
●Tokenizer
●Sqlite3
●XML
●FileInfo
InstructionstoenableextensionsforWindowsishere.Otherwise,asimpleGooglesearchon
howtoenablePHPextensionsonotheroperatingsystemsisrelevant.
Composer
LaravelreliesonaPHPdependencymanagertoinstallthird-partysoftwaresuchas
Bootstrap(aCSSframework).
ToverifythatComposerisinstalled,runthefollowingcommand`composer-V`.
CopyoftheApplication
Makesureallfilesexistasshownontheimage.
5
LCJJSE:PTDevelopmentTeam
Installation(DevOpsonly)
MovingApplication
Simplyplacetheapplicationfilesinanaccessibleplaceonthelocalcomputerwithproper
read,writeandexecutepermissions.
InstallingComposerDependencies
Openacommandpromptandchangedirectorytotheapplicationfolder.
Runthefollowingcommand`composerinstall`
toinstallrequireddependencies.
Creatingan.env(environment)file
Laravelhaspredefinedconfigurationsthatcanbemodifiedtosuitdifferentworking
environments.Whetherthatisadevelopment,testingorproductionenvironmentwiththe
framework.
Therequiredconfigurationneededisaproductionenvironment.Todoso,thereisa
‘.env.example’
filelocatedattherootoftheapplicationfolder.
Renamethefilefrom‘.env.example’
to‘.env’.
ThisletLaravelknowthatthereisauser
definedconfigurationfortheenvironment.
Generatingakey
TheLaravelPHPframeworkneedsakeytobegeneratedbeforeusage.Runthefollowing
command`phpartisankey:generate`
attherootoftheapplication.
6
LCJJSE:PTDevelopmentTeam
MigratetheDatabase
Runthefollowingcommand`phpartisanmigrate:refresh`
tomigratedatabaseschemas
(createtablesinthedatabase).Usingthe`--seed`flagisalsousefultoaddpredefineditems
tothedatabase.
Ignorethetimestampprefixonthefiles,theydonothavetobeexactlythesameasoutput
shownabove.
StartingaServer
Runthefollowingcommand`phpartisanserve`
tostartalocalhostserverthrough
commandprompt.
Theapplicationisnowreadytobeusedthroughhttp://127.0.0.1:8000or
http://localhost:8000.
7
LCJJSE:PTDevelopmentTeam
Usage
ThissectionwillgothroughallfunctionalityoftheAppointmentBookingSystemapplication.
ThefollowinginstructionswillassumethattheapplicationURLishttp://localhost:8000and
whentoldtovisitacertainpagegivenitsroute(e.g./login)representstheURL
http://localhost:8000/login.
Functionality
Theapplicationcandothefollowingactionsorganisedbytheroleoftheuserofeither
customerorbusinessowner.
Customer
Useristonotdoanyadministratoractionsandonlybeabletodothefollowing:
●Login/Registerascustomer
●AddBookingwithoutemployee
●ViewCustomerBookings
●Logout
BusinessOwner(Administrator)
Userisabletodoallactionsprovidedbytheapplication(superuser).Thisincludescustomer
actions.
●Login/Registerasbusinessowner(includesregisteringthebusiness)
●AddEmployee
●AddWorkingTime
●EditWorkingTime
●AddBooking
●AddActivity
8
LCJJSE:PTDevelopmentTeam
●AssignEmployeetoBooking
●ViewBusinessInformation
●ViewEmployeeAvailability
●ViewaSummaryofBookings
●ViewaHistoryofBookings
●Logout
Requirements
Theonlysoftwareneededtousetheapplicationisawebbrowserasstartedinthesoftware
prerequisites.
9
LCJJSE:PTDevelopmentTeam
Customer
Register
Visitthe/registerpageandfillcustomerdetailsintheinputform.
Clickthe‘Register’buttontosubmitthecustomerregistrationform.Oncetheformhasbeen
successfullysubmittedandvalidated,aredirectionto/loginandamessageshownstatinga
successfulcustomerregistration.
10
LCJJSE:PTDevelopmentTeam
Login
Visitthe/loginpageorrootoftheapplication(http://localhost:8000/willredirectto/login).
Therewillbeaninputformdisplayedwithfieldsusernameandpassword.
Itisimportantthatacustomerusernameandpasswordmustexistbeforeloggingin.Follow
thecustomerregistrationsectiontocreateanewcustomer.
Oncetheloginformisfilled,clickthe‘Signin’buttonandthepagewillredirectto/bookings
iftheloginwassuccessful.
11
LCJJSE:PTDevelopmentTeam
ViewBookings
Visit/bookingstoviewallcustomerbookings.
12
LCJJSE:PTDevelopmentTeam
BusinessOwner(Administrator)
Register
Visitthe/admin/registerpageandfillbusinessownerdetailsintheinputform.
Clickthe‘Register’buttontosubmitthebusinessownerregistrationform.Oncetheformhas
beensuccessfullysubmittedandvalidated,aredirectionto/loginandamessageshown
statingasuccessfulbusinessownerregistrationincludingthebusinessitself.
13
LCJJSE:PTDevelopmentTeam
Login
Visitthe/loginpageorrootoftheapplication(http://localhost:8000/willredirectto/login).
Therewillbeaninputformdisplayedwithfieldsusernameandpassword.
Itisimportantthatabusinessownerusernameandpasswordmustexistbeforeloggingin.
Followthebusinessownerregistrationsectiontocreateanewbusinessowner.
Oncetheloginformisfilled,clickthe‘Signin’buttonandthepagewillredirectto/adminif
theloginwassuccessful.
14
LCJJSE:PTDevelopmentTeam
CreateEmployee
Visitthe/admin/employeespagetoaddemployees.Businessownermustberegistered
andloggedintodothefollowingactions.
Fillouttheformprovidedonthepageandclickthe‘CreateEmployee’buttontosubmitthe
form.
Oncetheformhasbeensubmittedandtheinputisvalid,anewemployeeiscreated.0
15
LCJJSE:PTDevelopmentTeam
CreateBusinessTime
Visitthe/admin/timespagetocreatebusinesstimes.Businessownermustberegistered
andloggedintodothefollowingactions.
Fillouttheformprovidedonthepageandclickthe‘CreateBusinessTime’buttontosubmit
theform.
RemoveBusinessTime
Removebusinesstimebyclickingonthe‘x’buttonofabusinesstime.
EditBusinessTime
Clickontheeditsymbolofabusinesstimetomakechangestothebusinesstime.
16
LCJJSE:PTDevelopmentTeam
ViewBusinessInformation
Visitthe/adminpagetoviewbusinessinformation.Businessownermustberegisteredand
loggedin.
17
LCJJSE:PTDevelopmentTeam
ViewSummaryofBookings
Visitthe/admin/summarypagetoviewemployeeavailability.Businessownermustbe
registeredandloggedin.Thisactionissimilartoviewingemployeeavailabilitysinceboth
functionsareonthesamepage.
ViewHistoryofBookings
Visitthe/admin/historypagetoviewemployeeavailability.Businessownermustbe
registeredandloggedin.
18
LCJJSE:PTDevelopmentTeam
CreateWorkingTime
Visitthe/admin/rosterpagetoaddworkingtime.Businessownermustberegisteredand
loggedintodothefollowingactions.Anemployeemustexisttocreateaworkingtime.
Fillouttheformprovidedonthepageandclickthe‘AddWorkingTime’buttontosubmitthe
form.
Oncetheformhasbeensubmittedandtheinputisvalid,anewworkingtimeiscreated.
RemoveWorkingTime
Clickontheremoveiconwithinthecalendartoremoveaworkingtime.
EditWorkingTime
Visitthe/admin/roster/{id}/editpagetoeditanemployeeworkingtime.The{id}intheURL
selectstheworkingtimeIDfromthedatabase.
Noticethewarningshowontheimageabove.Oncetheworkingtimehasbeenchanged,all
assignedbookingsareunassigned.Thiswillsafelymakeallemployeesworkingonproper
times.
19
LCJJSE:PTDevelopmentTeam
CreateActivity
Visitthe/admin/activitypagetocreateanactivity.
CreateBooking
Fillthefollowingformbelowtocreateabooking.
Usetheemployeeavailabilityasareferencetocreateabooking.
20