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 22.3 ℃ 41 % 1020 mb clear sky
Southampton 22.48 ℃ 40 % 1020 mb clear sky
Winchester 22.19 ℃ 38 % 1020 mb clear sky
Salisbury 21.92 ℃ 35 % 1021 mb clear sky
Andover 21.85 ℃ 35 % 1021 mb clear sky
Christchurch 17.19 ℃ 64 % 1020 mb clear sky
Waterlooville 22.62 ℃ 51 % 1020 mb clear sky
Newport 22.88 ℃ 57 % 1020 mb clear sky
Portsmouth 22.88 ℃ 54 % 1020 mb clear sky
Alton 21.76 ℃ 44 % 1020 mb clear sky
Bournemouth 17.09 ℃ 64 % 1020 mb clear sky
Basingstoke 22.11 ℃ 42 % 1021 mb clear sky
Sandown 21.84 ℃ 60 % 1020 mb clear sky
Newbury 21.8 ℃ 43 % 1021 mb clear sky
Poole 17.22 ℃ 64 % 1020 mb clear sky
Warminster 20.08 ℃ 47 % 1021 mb clear sky
Farnham 22.15 ℃ 42 % 1020 mb clear sky
Trowbridge 21.8 ℃ 43 % 1021 mb clear sky
Bognor Regis 17.17 ℃ 64 % 1020 mb clear sky
Reading 22.7 ℃ 40 % 1021 mb clear sky
Frome 20.55 ℃ 50 % 1021 mb clear sky
Godalming 22.09 ℃ 40 % 1021 mb clear sky
Swindon 21.38 ℃ 54 % 1021 mb few clouds
Grove 21.19 ℃ 52 % 1021 mb few clouds
Bracknell 22.56 ℃ 41 % 1021 mb clear sky
Guildford 22.47 ℃ 39 % 1021 mb clear sky
Dorchester 21.38 ℃ 57 % 1020 mb clear sky
Bath 21.85 ℃ 48 % 1021 mb clear sky
Woking 22.64 ℃ 39 % 1021 mb clear sky
Yeovil 21.18 ℃ 56 % 1021 mb clear sky
Weymouth 21.4 ℃ 63 % 1020 mb clear sky
Worthing 21.3 ℃ 48 % 1021 mb clear sky
Horsham 22.61 ℃ 37 % 1021 mb clear sky
Mendip 20.03 ℃ 51 % 1021 mb clear sky
Staines-upon-Thames 22.85 ℃ 43 % 1021 mb few clouds
Slough 22.43 ℃ 43 % 1021 mb few clouds
Oxford 21.24 ℃ 44 % 1022 mb scattered clouds
Dorking 22.83 ℃ 37 % 1021 mb clear sky
Cirencester 20.2 ℃ 55 % 1022 mb scattered clouds
Chipping Sodbury 21.35 ℃ 44 % 1022 mb clear sky
Witney 21.14 ℃ 44 % 1022 mb scattered clouds
High Wycombe 21.63 ℃ 41 % 1021 mb scattered clouds
Bristol 21.9 ℃ 46 % 1021 mb clear sky
Kidlington 21.28 ℃ 44 % 1022 mb scattered clouds
Crawley 21.71 ℃ 66 % 1021 mb clear sky
Reigate 22.38 ℃ 54 % 1021 mb clear sky
Burgess Hill 21.61 ℃ 83 % 1021 mb clear sky
Stroud 20.89 ℃ 36 % 1022 mb few clouds
Brighton 20.98 ℃ 46 % 1021 mb clear sky
Aylesbury 21.24 ℃ 52 % 1021 mb scattered clouds
London Borough of Harrow 21.94 ℃ 41 % 1021 mb broken clouds
Bicester 20.95 ℃ 43 % 1022 mb scattered clouds
East Grinstead 20.71 ℃ 74 % 1021 mb clear sky
Watford 21.85 ℃ 43 % 1021 mb broken clouds
Bridgwater 21.3 ℃ 57 % 1021 mb clear sky
Clevedon 21.71 ℃ 62 % 1021 mb clear sky
Burnham-on-Sea 17.87 ℃ 60 % 1021 mb clear sky
Cheltenham 20.96 ℃ 35 % 1022 mb scattered clouds
Gloucester 21.36 ℃ 36 % 1022 mb scattered clouds
Weston-super-Mare 20.75 ℃ 63 % 1021 mb clear sky
Hemel Hempstead 21.7 ℃ 43 % 1021 mb broken clouds
Taunton 21.27 ℃ 58 % 1021 mb clear sky
City of London 22.38 ℃ 42 % 1020 mb broken clouds
Seaford 18.86 ℃ 72 % 1021 mb clear sky
St Albans 21.87 ℃ 43 % 1021 mb broken clouds
Blackheath 22.37 ℃ 45 % 1020 mb scattered clouds
Sevenoaks 21.94 ℃ 49 % 1020 mb few clouds
Newport 20.69 ℃ 61 % 1022 mb clear sky
Luton 21.13 ℃ 48 % 1021 mb scattered clouds
Royal Tunbridge Wells 19.23 ℃ 53 % 1020 mb clear sky
Tonbridge 19.76 ℃ 53 % 1020 mb clear sky
Eastbourne 18.88 ℃ 72 % 1021 mb clear sky
Cheshunt 22.31 ℃ 39 % 1021 mb broken clouds
Cardiff 20.72 ℃ 44 % 1022 mb clear sky
Waltham Abbey 22.3 ℃ 39 % 1021 mb broken clouds
Dagenham 21.81 ℃ 49 % 1021 mb broken clouds
Hoddesdon 21.8 ℃ 40 % 1021 mb broken clouds
Stevenage 20.71 ℃ 49 % 1021 mb scattered clouds
Caerphilly 20.25 ℃ 44 % 1022 mb clear sky
Grays 21.32 ℃ 51 % 1021 mb broken clouds
Tiverton 20.91 ℃ 55 % 1021 mb clear sky
Exmouth 17.05 ℃ 66 % 1021 mb clear sky
Harlow 21.49 ℃ 39 % 1021 mb scattered clouds
Brentwood 20.3 ℃ 48 % 1021 mb broken clouds
Maidstone 18.39 ℃ 53 % 1020 mb few clouds
Pontypridd 20.35 ℃ 44 % 1022 mb clear sky
Exeter 21.21 ℃ 55 % 1021 mb clear sky
Hastings 18.77 ℃ 72 % 1021 mb clear sky
Ebbw Vale 18.51 ℃ 58 % 1022 mb clear sky
Gillingham 19.17 ℃ 49 % 1020 mb scattered clouds
Basildon 19.73 ℃ 51 % 1021 mb broken clouds
Torquay 15.6 ℃ 69 % 1021 mb clear sky
Rhondda 18.98 ℃ 53 % 1022 mb clear sky
Coity 20.43 ℃ 53 % 1022 mb clear sky
Wickford 19.83 ℃ 51 % 1021 mb broken clouds
Newton Abbot 21.28 ℃ 56 % 1021 mb clear sky
Chelmsford 19.43 ℃ 52 % 1021 mb scattered clouds
Sittingbourne 15.75 ℃ 52 % 1020 mb scattered clouds
Southend-on-Sea 16.14 ℃ 56 % 1021 mb broken clouds
Ashford 18.19 ℃ 53 % 1020 mb few clouds
Faversham 15.41 ℃ 72 % 1020 mb scattered clouds
Maldon 19.47 ℃ 53 % 1021 mb broken clouds
Braintree 20.87 ℃ 52 % 1021 mb broken clouds
Neath 18.25 ℃ 60 % 1022 mb clear sky
Barnstaple 20.85 ℃ 56 % 1021 mb clear sky
Whitstable 15.51 ℃ 71 % 1021 mb scattered clouds
Canterbury 15.42 ℃ 71 % 1020 mb scattered clouds
Swansea 18.24 ℃ 60 % 1022 mb clear sky
Folkestone 20.01 ℃ 57 % 1020 mb few clouds
Bideford 21.09 ℃ 55 % 1021 mb clear sky
Colchester 18.11 ℃ 60 % 1021 mb broken clouds
Dover 14.93 ℃ 59 % 1020 mb scattered clouds
Plymouth 21.66 ℃ 48 % 1020 mb few clouds
Llanelli 17.03 ℃ 68 % 1022 mb clear sky
Clacton-on-Sea 17.66 ℃ 60 % 1021 mb broken clouds
Deal 15 ℃ 72 % 1020 mb broken clouds
Margate 14.88 ℃ 71 % 1020 mb broken clouds
Broadstairs 14.8 ℃ 72 % 1021 mb broken clouds
Carmarthen 19.54 ℃ 55 % 1022 mb clear sky
Boulogne-sur-Mer 20.24 ℃ 60 % 1020 mb clear sky
Felixstowe 17.64 ℃ 60 % 1021 mb overcast clouds
Berck-Plage 17.5 ℃ 62 % 1019 mb clear sky
Calais 15.1 ℃ 73 % 1021 mb few clouds
St Austell 20.66 ℃ 56 % 1020 mb few clouds
Abbeville 23.05 ℃ 48 % 1018 mb clear sky
This is current data for a large part of UK.
Chart actually includes all entries from table.