{"id":17680592,"url":"https://github.com/robacarp/weather_app","last_synced_at":"2025-03-30T19:12:19.136Z","repository":{"id":222523951,"uuid":"757532690","full_name":"robacarp/weather_app","owner":"robacarp","description":"yet another pre-interview work product","archived":false,"fork":false,"pushed_at":"2024-02-14T17:32:29.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T23:32:46.329Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robacarp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-14T17:26:09.000Z","updated_at":"2024-02-14T17:26:36.000Z","dependencies_parsed_at":"2024-02-14T18:51:21.893Z","dependency_job_id":null,"html_url":"https://github.com/robacarp/weather_app","commit_stats":null,"previous_names":["robacarp/weather_app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robacarp%2Fweather_app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robacarp%2Fweather_app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robacarp%2Fweather_app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robacarp%2Fweather_app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robacarp","download_url":"https://codeload.github.com/robacarp/weather_app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246365645,"owners_count":20765546,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-24T09:08:25.249Z","updated_at":"2025-03-30T19:12:19.114Z","avatar_url":"https://github.com/robacarp.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Weather Demo API project\n\n# Summary\n\nThis project uses the weather api from [WeatherAPI](https://www.weatherapi.com/) to retrieve conditions and forecast data based on user provided location. The location geocoding is handled by WeatherAPI. Results are cached in Redis. I used a default Rails 7 installation, with no database. Tailwindcss-rails is used to simplify styling.\n\nTests can be run with `bin/test`.\n\n# Assignment\n\nGuidelines for this project were as follows.\n\nRequirements:\n - Must be done in Ruby on Rails\n - Accept an address as input\n - Retrieve forecast data for the given address. This should include, at minimum, the current temperature (Bonus points - Retrieve high/low and/or extended forecast)\n - Display the requested forecast details to the user\n - Cache the forecast details for 30 minutes for all subsequent requests by zip codes. Display indicator if result is pulled from cache.\n\nAssumptions:\n - This project is open to interpretation\n - Functionality is a priority over form\n - If you get stuck, complete as much as you can\n\nSubmission:\n - Use a public source code repository (GitHub, etc) to store your code\n - Send us the link to your completed code\n\n# Running the project:\n\n## Prerequisites:\n\n- Docker desktop installed\n- A WeatherAPI key, available from [https://www.weatherapi.com/my/](https://www.weatherapi.com/my/). Accounts are free.\n\n## Boot Up:\n\n- Clone the repo\n- `cp .env.example .env` and fill in your WeatherAPI key.\n- Run `bin/dev` in the root directory.\n- Visit [http://localhost:3000](http://localhost:3000)\n\n## Caching:\n\n- Rails caching is disabled in development by default. Caching for development is enabled with the `rails dev:cache` command.\n- This project is setup to use Redis for caching, and the docker-compose includes a redis container. To manually flush the cache, run `/bin/flushcache`\n\n## Documentation:\n\nThis assignment has been documented using YARD. Run `bin/docs` to generate documentation, and open `doc/index.html`.\n\n## Tests:\n\nTo run the tests within docker, use `bin/test`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobacarp%2Fweather_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobacarp%2Fweather_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobacarp%2Fweather_app/lists"}