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 15.72 ℃ 90 % 1019 mb scattered clouds
Southampton 15.75 ℃ 90 % 1019 mb scattered clouds
Winchester 15.29 ℃ 90 % 1019 mb scattered clouds
Salisbury 15.01 ℃ 86 % 1019 mb few clouds
Andover 14.37 ℃ 89 % 1019 mb few clouds
Christchurch 17.19 ℃ 90 % 1019 mb scattered clouds
Waterlooville 16.89 ℃ 89 % 1019 mb overcast clouds
Newport 16.82 ℃ 90 % 1019 mb overcast clouds
Portsmouth 17.12 ℃ 89 % 1019 mb overcast clouds
Alton 14.09 ℃ 90 % 1020 mb broken clouds
Bournemouth 17.16 ℃ 90 % 1019 mb scattered clouds
Basingstoke 14.42 ℃ 90 % 1020 mb broken clouds
Sandown 16.43 ℃ 91 % 1019 mb overcast clouds
Newbury 14.9 ℃ 87 % 1019 mb overcast clouds
Poole 17.25 ℃ 90 % 1020 mb scattered clouds
Warminster 15.62 ℃ 88 % 1020 mb broken clouds
Farnham 14.16 ℃ 90 % 1020 mb clear sky
Trowbridge 15.87 ℃ 89 % 1019 mb broken clouds
Bognor Regis 16.35 ℃ 91 % 1018 mb overcast clouds
Reading 14.31 ℃ 91 % 1020 mb clear sky
Frome 16.21 ℃ 88 % 1019 mb broken clouds
Godalming 14.12 ℃ 90 % 1019 mb clear sky
Swindon 15.24 ℃ 79 % 1019 mb broken clouds
Grove 13.46 ℃ 93 % 1019 mb clear sky
Bracknell 13.91 ℃ 90 % 1020 mb clear sky
Guildford 14.23 ℃ 88 % 1020 mb clear sky
Dorchester 16.65 ℃ 90 % 1020 mb overcast clouds
Bath 15.74 ℃ 87 % 1019 mb broken clouds
Woking 14.18 ℃ 87 % 1020 mb clear sky
Yeovil 16.12 ℃ 88 % 1019 mb broken clouds
Weymouth 16.47 ℃ 92 % 1020 mb overcast clouds
Worthing 16.15 ℃ 92 % 1019 mb overcast clouds
Horsham 14.22 ℃ 93 % 1021 mb scattered clouds
Mendip 14.13 ℃ 90 % 1019 mb overcast clouds
Staines-upon-Thames 14.6 ℃ 85 % 1020 mb few clouds
Slough 14.58 ℃ 88 % 1020 mb few clouds
Oxford 13.35 ℃ 93 % 1019 mb clear sky
Dorking 14.01 ℃ 87 % 1020 mb scattered clouds
Cirencester 14.7 ℃ 80 % 1018 mb broken clouds
Chipping Sodbury 15.18 ℃ 88 % 1018 mb broken clouds
Witney 13.65 ℃ 91 % 1019 mb clear sky
High Wycombe 14.27 ℃ 88 % 1020 mb overcast clouds
Bristol 15.55 ℃ 88 % 1018 mb broken clouds
Kidlington 13.29 ℃ 93 % 1019 mb clear sky
Crawley 13.8 ℃ 94 % 1020 mb scattered clouds
Reigate 13.84 ℃ 88 % 1020 mb scattered clouds
Burgess Hill 14.8 ℃ 92 % 1020 mb overcast clouds
Stroud 14.42 ℃ 83 % 1018 mb broken clouds
Brighton 15.75 ℃ 92 % 1020 mb overcast clouds
Aylesbury 13.34 ℃ 79 % 1019 mb overcast clouds
London Borough of Harrow 14.26 ℃ 87 % 1020 mb few clouds
Bicester 13.33 ℃ 91 % 1019 mb clear sky
East Grinstead 13.36 ℃ 95 % 1020 mb scattered clouds
Watford 14.2 ℃ 90 % 1019 mb few clouds
Bridgwater 15.76 ℃ 89 % 1019 mb overcast clouds
Clevedon 16.04 ℃ 89 % 1017 mb overcast clouds
Burnham-on-Sea 15.31 ℃ 91 % 1017 mb overcast clouds
Cheltenham 14.6 ℃ 83 % 1018 mb broken clouds
Gloucester 14.88 ℃ 82 % 1018 mb broken clouds
Weston-super-Mare 15.64 ℃ 91 % 1017 mb overcast clouds
Hemel Hempstead 13.92 ℃ 93 % 1019 mb overcast clouds
Taunton 17.19 ℃ 85 % 1019 mb overcast clouds
City of London 14.53 ℃ 83 % 1019 mb overcast clouds
Seaford 15.83 ℃ 89 % 1020 mb overcast clouds
St Albans 13.77 ℃ 92 % 1019 mb overcast clouds
Blackheath 14.46 ℃ 80 % 1019 mb clear sky
Sevenoaks 13.49 ℃ 51 % 1020 mb clear sky
Newport 15.67 ℃ 90 % 1018 mb overcast clouds
Luton 12.85 ℃ 93 % 1019 mb overcast clouds
Royal Tunbridge Wells 13.71 ℃ 73 % 1020 mb overcast clouds
Tonbridge 14.29 ℃ 60 % 1020 mb overcast clouds
Eastbourne 15.58 ℃ 86 % 1020 mb overcast clouds
Cheshunt 14.28 ℃ 89 % 1019 mb overcast clouds
Cardiff 15.59 ℃ 91 % 1018 mb scattered clouds
Waltham Abbey 14.44 ℃ 88 % 1020 mb overcast clouds
Dagenham 14.39 ℃ 85 % 1020 mb overcast clouds
Hoddesdon 13.91 ℃ 91 % 1020 mb overcast clouds
Stevenage 12.87 ℃ 93 % 1019 mb overcast clouds
Caerphilly 15.01 ℃ 92 % 1018 mb overcast clouds
Grays 14.3 ℃ 85 % 1020 mb overcast clouds
Tiverton 16.59 ℃ 91 % 1019 mb few clouds
Exmouth 16.92 ℃ 94 % 1019 mb few clouds
Harlow 13.7 ℃ 91 % 1020 mb overcast clouds
Brentwood 13.23 ℃ 91 % 1020 mb overcast clouds
Maidstone 14.66 ℃ 75 % 1021 mb overcast clouds
Pontypridd 15.06 ℃ 92 % 1018 mb overcast clouds
Exeter 16.75 ℃ 94 % 1018 mb few clouds
Hastings 15.15 ℃ 87 % 1021 mb overcast clouds
Ebbw Vale 13.41 ℃ 91 % 1018 mb overcast clouds
Gillingham 14.01 ℃ 82 % 1020 mb overcast clouds
Basildon 13.48 ℃ 90 % 1020 mb clear sky
Torquay 16.53 ℃ 93 % 1019 mb overcast clouds
Rhondda 13.75 ℃ 90 % 1018 mb overcast clouds
Coity 16.1 ℃ 91 % 1018 mb overcast clouds
Wickford 13.48 ℃ 90 % 1020 mb clear sky
Newton Abbot 16.93 ℃ 92 % 1019 mb overcast clouds
Chelmsford 13.18 ℃ 92 % 1020 mb overcast clouds
Sittingbourne 14.55 ℃ 84 % 1020 mb overcast clouds
Southend-on-Sea 14.19 ℃ 80 % 1020 mb clear sky
Ashford 14.86 ℃ 87 % 1021 mb overcast clouds
Faversham 15.02 ℃ 86 % 1020 mb overcast clouds
Maldon 13.67 ℃ 84 % 1020 mb clear sky
Braintree 13.25 ℃ 89 % 1020 mb overcast clouds
Neath 16.15 ℃ 89 % 1018 mb overcast clouds
Barnstaple 15.83 ℃ 91 % 1018 mb overcast clouds
Whitstable 15.04 ℃ 87 % 1020 mb overcast clouds
Canterbury 14.99 ℃ 87 % 1020 mb overcast clouds
Swansea 16.48 ℃ 91 % 1018 mb overcast clouds
Folkestone 15.17 ℃ 81 % 1022 mb overcast clouds
Bideford 16.02 ℃ 91 % 1018 mb overcast clouds
Colchester 13.64 ℃ 87 % 1019 mb overcast clouds
Dover 15.17 ℃ 81 % 1021 mb overcast clouds
Plymouth 17.79 ℃ 91 % 1019 mb overcast clouds
Llanelli 16.63 ℃ 92 % 1018 mb broken clouds
Clacton-on-Sea 13.78 ℃ 87 % 1019 mb overcast clouds
Deal 15.02 ℃ 79 % 1021 mb overcast clouds
Margate 14.83 ℃ 80 % 1020 mb overcast clouds
Broadstairs 14.77 ℃ 79 % 1020 mb overcast clouds
Carmarthen 16.96 ℃ 88 % 1017 mb broken clouds
Boulogne-sur-Mer 13.85 ℃ 90 % 1021 mb overcast clouds
Felixstowe 14.68 ℃ 82 % 1019 mb overcast clouds
Berck-Plage 13.94 ℃ 88 % 1022 mb overcast clouds
Calais 15.08 ℃ 82 % 1021 mb overcast clouds
St Austell 17.31 ℃ 94 % 1019 mb scattered clouds
Abbeville 16.38 ℃ 88 % 1022 mb overcast clouds
This is current data for a large part of UK.
Chart actually includes all entries from table.