Date started 23 Feb 2019 14:30 Moscow Time
- 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
- System design(several type of design)
- API
- Structure
- Deployment
- Flow...
- 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
- Error handling check
- API Layer
- City Weather
- Add Caching to external requests results: 5 minutes cache
- New API call should return data from cache if it is there
- City Weather
- Return last weather for all cities in db (Pageable?)
- Unregister city
- Delete all information about city and it's weather db, cache
- XML/JSON depends on header
- Add scheduling in background for updating caches for all cities with actual info
- Store weather in DB??(already stored on 1st stage?)
- Dockerize
not forget
- Javadoc
- tests
- 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? |