Skip to content

Highly scalable hello world example. WeatherApp built on top of reactor framework.

License

Notifications You must be signed in to change notification settings

baimurzin/myweatherapp

Repository files navigation

Weather APP

Getting started

Date started 23 Feb 2019 14:30 Moscow Time

TODO

  • Split into microservices(weather service, city service, Zuul, eureka ) 2-3days
  • Run it on K8S cluster on GCP :: 0.5– 1 day (almost done: some problem w/ load balancer on GCP ingress )
  • Add CI/CD :: 0.5–1 day

#Dev plan

Stage 1

  1. System design(several type of design)
    • API
    • Structure
    • Deployment
    • Flow...
  2. Implements API layer 5. Register city(Existing), Storing in database - Controller - Model - DTO - Repository - Service - Tests - Other services like checking if city exists 6. Get city weather - Controller - Service - Stage1: external Call API - Repository - Models - DTO
  3. Error handling check

Stage 2

  1. API Layer
    1. City Weather
      1. Add Caching to external requests results: 5 minutes cache
      2. New API call should return data from cache if it is there

Stage 3

  1. Return last weather for all cities in db (Pageable?)
  2. Unregister city
    1. Delete all information about city and it's weather db, cache
  3. XML/JSON depends on header

Stage 4

  1. Add scheduling in background for updating caches for all cities with actual info
  2. Store weather in DB??(already stored on 1st stage?)

STage 5

  1. Dockerize

not forget

  1. Javadoc
  2. tests
  3. Spring + Hibernate or JPA
Resource POST \ create GET \ read PUT

update

DELETE
/cities create a new city/ register –– –––
/cities/{id} –– Get weather –– delete city with all weather info
/cities?

About

Highly scalable hello world example. WeatherApp built on top of reactor framework.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published