kartoza / feti

Further Education and Training Institute Website
Other
2 stars 15 forks source link

Use Case 2 - Mechanic #557

Open cchristelis opened 6 years ago

cchristelis commented 6 years ago

Use Case

Normal Flow

  1. User logs in or signs up to the system
  2. User navigates to occupation tab and types in ‘mechanic’
  3. The system should show search results within that keyword and the user chooses the occupation he desires - ‘automobile mechanic”
  4. The system shows a summary of the occupation and different pathways of reaching that occupation

-- Not Enough Data -- ~5. The user chooses the pathway through ‘apprenticeship’ and navigates to the map view of his search results~

  1. The user chooses a pathway with a valid result.
  2. The user then uses the circle radius tool to find colleges within 80km radius from his house
  3. The user receives the contact details of a learning opportunity that meets his requirements and exits the system to contact the apprenticeship

Conditions

  1. No single request takes more than 2s to process
  2. The visual elements (incl. CSS) should be loaded within 500 ms
myarjunar commented 6 years ago

@cchristelis I have a question on step number 6. So I only found a tool where we create a circle polygon and will find colleges within that circle. Is that what you mean? circle_radius_feti If so, then the system already did what it should do. So what should I do in this ticket?

cchristelis commented 6 years ago

If there is an issue with making the circle, please create a new ticket for yourself and handle it there. This issue is about the load times.

cchristelis commented 6 years ago

@myarjunar, could you please put the load times as you have then so far?

myarjunar commented 6 years ago

Detailed Occupation Case Profiling

TESTED ON http://159.69.42.250:63100

*Occupation page loading*
XHR GET http://159.69.42.250:63100/api/occupation?q=&page=1[HTTP/1.1 200 OK 489ms] 
Blocked:→ 1 ms
DNS resolution:→ 0 ms
Connecting:→ 0 ms
TLS setup:→ 0 ms
Sending:→ 0 ms
Waiting:→ 444 ms
Receiving:→ 44 ms

*Autocomplete (Refrigeration Mechanic)*
XHR GET http://159.69.42.250:63100/api/autocomplete/occupation?q=Refri
[HTTP/1.1 200 OK 467ms]
Blocked:→ 39 ms
DNS resolution:→ 0 ms
Connecting:→ 37 ms
TLS setup:→ 0 ms
Sending:→ 0 ms
Waiting:→ 389 ms
Receiving:→ 0 ms

*Choose autocomplete result (Refrigeration Mechanic)*
XHR GET http://159.69.42.250:63100/api/occupation?q=Refrigeration%20Mechanic&page=1
[HTTP/1.1 200 OK 298ms]
Blocked:→ 1 ms
DNS resolution:→ 0 ms
Connecting:→ 0 ms
TLS setup:→ 0 ms
Sending:→ 0 ms
Waiting:→ 297 ms
Receiving:→ 0 ms

*Choose related occupations result*
XHR GET http://159.69.42.250:63100/api/occupation?id=1104
[HTTP/1.1 200 OK 743ms]
Blocked:→ 36 ms
DNS resolution:→ 0 ms
Connecting:→ 36 ms
TLS setup:→ 0 ms
Sending:→ 0 ms
Waiting:→ 640 ms
Receiving:→ 30 ms

*Choose pathway 3*
TypeError: t.model is null 

TESTED ON LOCAL MACHINE (DEVELOPMENT ENVIRONMENT)

*Occupation page loading*
XHR GET http://0.0.0.0:63102/api/occupation?q=&page=1
[HTTP/1.0 200 OK 361ms]
Blocked:→ 9 ms
DNS resolution:→ 0 ms
Connecting:→ 0 ms
TLS setup:→ 0 ms
Sending:→ 0 ms
Waiting:→ 352 ms
Receiving:→ 0 ms

*Autocomplete (Refrigeration Mechanic)*
XHR GET http://0.0.0.0:63102/api/autocomplete/occupation?q=refrigeration
[HTTP/1.0 200 OK 50ms]
Blocked:→ 1 ms
DNS resolution:→ 0 ms
Connecting:→ 0 ms
TLS setup:→ 0 ms
Sending:→ 0 ms
Waiting:→ 46 ms
Receiving:→ 1 ms

*Choose autocomplete result (Refrigeration Mechanic)*
XHR GET http://0.0.0.0:63102/api/occupation?q=Refrigeration%20Mechanic&page=1
[HTTP/1.0 200 OK 114ms]
Blocked:→ 10 ms
DNS resolution:→ 0 ms
Connecting:→ 1 ms
TLS setup:→ 0 ms
Sending:→ 0 ms
Waiting:→ 94 ms
Receiving:→ 0 ms

*Choose related occupations result*
XHR GET http://0.0.0.0:63102/api/occupation?id=1104
[HTTP/1.0 200 OK 352ms]
Blocked:→ 1 ms
DNS resolution:→ 0 ms
Connecting:→ 1 ms
TLS setup:→ 0 ms
Sending:→ 0 ms
Waiting:→ 350 ms
Receiving:→ 0 ms

*Choose pathway 3*
XHR GET http://0.0.0.0:63102/api/occupation?id=1104
[HTTP/1.0 200 OK 194ms]
Blocked:→ 5 ms
DNS resolution:→ 0 ms
Connecting:→ 0 ms
TLS setup:→ 0 ms
Sending:→ 0 ms
Waiting:→ 189 ms
Receiving:→ 0 ms

*Choose valid course on step 2*
XHR GET http://0.0.0.0:63102/api/course?q=saqa_id=67109&
[HTTP/1.0 200 OK 85ms]
Blocked:→ 4 ms
DNS resolution:→ 0 ms
Connecting:→ 0 ms
TLS setup:→ 0 ms
Sending:→ 0 ms
Waiting:→ 80 ms
Receiving:→ 1 ms

*Use circle radius tool*
XHR GET
http://0.0.0.0:63102/api/course?q=saqa_id=67109&shape=circle&coordinate={%22lat%22:-33.71520164474086,%22lng%22:18.358154296875004}&radius=58051.57770656715
[HTTP/1.0 200 OK 158ms]
Blocked:→ 1 ms
DNS resolution:→ 0 ms
Connecting:→ 1 ms
TLS setup:→ 0 ms
Sending:→ 0 ms
Waiting:→ 156 ms
Receiving:→ 0 ms
myarjunar commented 6 years ago

@cchristelis here is the summary of the page and request load time

on http://159.69.42.250:63100

Occupation page loading -> 489ms
Autocomplete (Refrigeration Mechanic) -> 467ms
Choose autocomplete result (Refrigeration Mechanic) -> 298ms
Choose related occupations result -> 743ms
Choose pathway 3 -> didn't load (TypeError: t.model is null )

on development environment

Occupation page loading -> 361ms
Autocomplete (Refrigeration Mechanic) -> 50ms
Choose autocomplete result (Refrigeration Mechanic) -> 114ms
Choose related occupations result -> 352ms
Choose pathway 3 -> 194ms
Choose valid course on step 2 -> 85ms
Use circle radius tool -> 158ms
cchristelis commented 6 years ago

please resolve all errors on the live server also make sure that the load time is accounted for and below the above-stated requirement...

cchristelis commented 6 years ago

I have been testing on staging and for some reason, the landing page has slowed down? I am getting the following timings for this: Screen Shot 2018-07-27 at 11.55.56 AM.png Is there no caching enabled for this query?