Weather Tech Test

This project is based on a angular tech test. I Decided to implement this using Asp .Net Core. It connects to openweathermap.org API and gets current weather information based on geolocation and then displays information in a user friendly way.
Here are the instructions:

  • Create a new project
  • Use the open weather API to retrieve weather information on at least 10 cities
  • Populate a table within the app with this data
  • Introduce configurable pagination
  • Introduce sortable columns
  • Introduce a filter for searching by city name
  • Create a graph that displays the median average global temperature and plot cities available in the API above/below the median
  • Try to use semantic and accessible HTML with SCSS or LESS
  • Write unit test

Check the source code on github.


City Temperature Humidity Pressure Description
Totton 11.19 ℃ 79 % 1028 mb broken clouds
Southampton 11.14 ℃ 80 % 1028 mb scattered clouds
Winchester 11 ℃ 86 % 1028 mb broken clouds
Salisbury 9.99 ℃ 89 % 1028 mb overcast clouds
Andover 10.86 ℃ 88 % 1028 mb broken clouds
Christchurch 10.37 ℃ 87 % 1028 mb scattered clouds
Waterlooville 11.67 ℃ 87 % 1028 mb broken clouds
Newport 11.19 ℃ 87 % 1028 mb scattered clouds
Portsmouth 11.93 ℃ 87 % 1028 mb scattered clouds
Alton 10.13 ℃ 89 % 1029 mb broken clouds
Bournemouth 10.32 ℃ 86 % 1028 mb scattered clouds
Basingstoke 10.47 ℃ 87 % 1029 mb broken clouds
Sandown 12.08 ℃ 86 % 1028 mb scattered clouds
Newbury 11.01 ℃ 86 % 1028 mb broken clouds
Poole 10.44 ℃ 86 % 1029 mb broken clouds
Warminster 10.28 ℃ 91 % 1029 mb overcast clouds
Farnham 10.18 ℃ 86 % 1028 mb broken clouds
Trowbridge 11.06 ℃ 91 % 1029 mb overcast clouds
Bognor Regis 12.34 ℃ 82 % 1027 mb scattered clouds
Reading 10.83 ℃ 76 % 1029 mb broken clouds
Frome 10.65 ℃ 92 % 1029 mb overcast clouds
Godalming 10.09 ℃ 87 % 1028 mb broken clouds
Swindon 11.74 ℃ 85 % 1028 mb clear sky
Grove 10.72 ℃ 92 % 1029 mb clear sky
Bracknell 11.04 ℃ 73 % 1028 mb broken clouds
Guildford 10.71 ℃ 80 % 1028 mb broken clouds
Dorchester 11.86 ℃ 83 % 1029 mb broken clouds
Bath 13.3 ℃ 92 % 1029 mb overcast clouds
Woking 11.13 ℃ 76 % 1028 mb broken clouds
Yeovil 10.4 ℃ 88 % 1029 mb few clouds
Weymouth 11.85 ℃ 83 % 1029 mb broken clouds
Worthing 12.01 ℃ 78 % 1028 mb scattered clouds
Horsham 11.39 ℃ 79 % 1029 mb clear sky
Mendip 10.96 ℃ 92 % 1029 mb overcast clouds
Staines-upon-Thames 11.59 ℃ 74 % 1028 mb broken clouds
Slough 11.48 ℃ 76 % 1028 mb broken clouds
Oxford 11.31 ℃ 89 % 1029 mb broken clouds
Dorking 11.32 ℃ 73 % 1029 mb clear sky
Cirencester 11.23 ℃ 86 % 1028 mb clear sky
Chipping Sodbury 13.23 ℃ 90 % 1028 mb overcast clouds
Witney 10.97 ℃ 92 % 1028 mb clear sky
High Wycombe 10.47 ℃ 83 % 1029 mb broken clouds
Bristol 14.34 ℃ 90 % 1029 mb overcast clouds
Kidlington 11.47 ℃ 88 % 1028 mb broken clouds
Crawley 11.18 ℃ 79 % 1029 mb clear sky
Reigate 11.24 ℃ 76 % 1029 mb clear sky
Burgess Hill 12.23 ℃ 80 % 1028 mb scattered clouds
Stroud 12.37 ℃ 80 % 1028 mb overcast clouds
Brighton 13.2 ℃ 78 % 1028 mb scattered clouds
Aylesbury 10.5 ℃ 82 % 1028 mb broken clouds
London Borough of Harrow 11.69 ℃ 78 % 1028 mb broken clouds
Bicester 11.19 ℃ 81 % 1028 mb broken clouds
East Grinstead 11.72 ℃ 89 % 1029 mb clear sky
Watford 11.21 ℃ 80 % 1028 mb broken clouds
Bridgwater 11.66 ℃ 90 % 1029 mb broken clouds
Clevedon 14.09 ℃ 92 % 1028 mb overcast clouds
Burnham-on-Sea 13.35 ℃ 88 % 1027 mb broken clouds
Cheltenham 12.77 ℃ 79 % 1028 mb overcast clouds
Gloucester 12.53 ℃ 81 % 1028 mb overcast clouds
Weston-super-Mare 13.69 ℃ 89 % 1028 mb overcast clouds
Hemel Hempstead 10.8 ℃ 79 % 1028 mb broken clouds
Taunton 9.49 ℃ 90 % 1029 mb broken clouds
City of London 12.89 ℃ 74 % 1027 mb broken clouds
Seaford 13.6 ℃ 75 % 1029 mb scattered clouds
St Albans 11.31 ℃ 77 % 1028 mb broken clouds
Blackheath 14.37 ℃ 67 % 1028 mb broken clouds
Sevenoaks 12.39 ℃ 72 % 1028 mb broken clouds
Newport 11.81 ℃ 90 % 1028 mb overcast clouds
Luton 10.94 ℃ 75 % 1028 mb broken clouds
Royal Tunbridge Wells 11.63 ℃ 55 % 1028 mb broken clouds
Tonbridge 12.67 ℃ 78 % 1028 mb broken clouds
Eastbourne 14.57 ℃ 71 % 1028 mb scattered clouds
Cheshunt 12.05 ℃ 75 % 1028 mb broken clouds
Cardiff 12.54 ℃ 94 % 1028 mb broken clouds
Waltham Abbey 12.34 ℃ 75 % 1028 mb broken clouds
Dagenham 14.35 ℃ 66 % 1028 mb broken clouds
Hoddesdon 11.48 ℃ 75 % 1028 mb broken clouds
Stevenage 10.9 ℃ 77 % 1028 mb broken clouds
Caerphilly 11.25 ℃ 92 % 1028 mb broken clouds
Grays 14 ℃ 65 % 1028 mb overcast clouds
Tiverton 8.41 ℃ 93 % 1029 mb broken clouds
Exmouth 9.72 ℃ 93 % 1029 mb scattered clouds
Harlow 11.25 ℃ 73 % 1028 mb overcast clouds
Brentwood 12.86 ℃ 67 % 1028 mb overcast clouds
Maidstone 10.76 ℃ 70 % 1029 mb broken clouds
Pontypridd 11.46 ℃ 92 % 1028 mb broken clouds
Exeter 9.37 ℃ 93 % 1029 mb broken clouds
Hastings 14.41 ℃ 69 % 1028 mb broken clouds
Ebbw Vale 10.63 ℃ 91 % 1028 mb broken clouds
Gillingham 11.92 ℃ 78 % 1028 mb overcast clouds
Basildon 13.6 ℃ 69 % 1028 mb overcast clouds
Torquay 10.95 ℃ 87 % 1030 mb few clouds
Rhondda 10.12 ℃ 90 % 1028 mb broken clouds
Coity 13.39 ℃ 93 % 1029 mb broken clouds
Wickford 13.64 ℃ 69 % 1028 mb overcast clouds
Newton Abbot 11.35 ℃ 87 % 1030 mb scattered clouds
Chelmsford 12.83 ℃ 66 % 1028 mb overcast clouds
Sittingbourne 11.48 ℃ 81 % 1028 mb overcast clouds
Southend-on-Sea 13.66 ℃ 69 % 1027 mb overcast clouds
Ashford 10.84 ℃ 54 % 1028 mb broken clouds
Faversham 12.87 ℃ 65 % 1028 mb broken clouds
Maldon 13.25 ℃ 64 % 1028 mb broken clouds
Braintree 11.99 ℃ 72 % 1028 mb overcast clouds
Neath 14.92 ℃ 89 % 1029 mb overcast clouds
Barnstaple 11.74 ℃ 91 % 1029 mb broken clouds
Whitstable 13.61 ℃ 74 % 1027 mb broken clouds
Canterbury 13.55 ℃ 74 % 1027 mb broken clouds
Swansea 14.67 ℃ 91 % 1028 mb overcast clouds
Folkestone 13.83 ℃ 87 % 1028 mb broken clouds
Bideford 11.81 ℃ 91 % 1029 mb broken clouds
Colchester 13.18 ℃ 74 % 1027 mb broken clouds
Dover 14.52 ℃ 75 % 1027 mb broken clouds
Plymouth 11.23 ℃ 88 % 1029 mb scattered clouds
Llanelli 15.38 ℃ 90 % 1028 mb overcast clouds
Clacton-on-Sea 13.21 ℃ 74 % 1027 mb broken clouds
Deal 13.41 ℃ 77 % 1027 mb broken clouds
Margate 13.21 ℃ 76 % 1027 mb broken clouds
Broadstairs 13.13 ℃ 77 % 1027 mb broken clouds
Carmarthen 15.96 ℃ 88 % 1028 mb overcast clouds
Boulogne-sur-Mer 11.19 ℃ 88 % 1029 mb broken clouds
Felixstowe 13.12 ℃ 70 % 1027 mb overcast clouds
Berck-Plage 10.94 ℃ 93 % 1028 mb clear sky
Calais 11.31 ℃ 77 % 1028 mb scattered clouds
St Austell 14.31 ℃ 88 % 1030 mb scattered clouds
Abbeville 8.6 ℃ 84 % 1028 mb scattered clouds
This is current data for a large part of UK.
Chart actually includes all entries from table.