What we going to test here:
- Your architect skills
- Knowledge of PHP programming language
- Knowledge of Symfony/Laravel
- Knowledge of database structures
Background:
- You need to use Symfony/Laravel framework
- Use any tools or libs for test completion
- You need to use database (MySql/PostgreSQL)
Build REST API service that provides weather forecast from some provider. You must use authentication for api endpoints. Use your preferred hosting provider for demo.
GET /forecast/current?city=(string) - current weather forecast
GET /forecast/tomorrow?city=(string) - weather forecast for tomorrow
GET /cities - list of available cities for weather forecast. Must use streamable design
- Write Cron job command that will gather forecast data and will store that data in database.
- Use interface for forecast fetching service (in future we can chage provider)
- Define some authentication entity (token,user) and allow only that users to interfere with API
- Use HTTP caching
- Write tests
If you have any questions, please write an email