{"id":20879240,"url":"https://github.com/7c/nodejs-react-challange","last_synced_at":"2026-02-10T12:33:38.155Z","repository":{"id":129721137,"uuid":"409965422","full_name":"7c/nodejs-react-challange","owner":"7c","description":"challenge project for interviews","archived":false,"fork":false,"pushed_at":"2021-09-24T13:02:29.000Z","size":85,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-20T01:27:38.046Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/7c.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,"publiccode":null,"codemeta":null}},"created_at":"2021-09-24T13:01:55.000Z","updated_at":"2021-09-24T13:02:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"9bfab05d-140a-4cbd-bdf8-e2d069ed9774","html_url":"https://github.com/7c/nodejs-react-challange","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/7c/nodejs-react-challange","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7c%2Fnodejs-react-challange","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7c%2Fnodejs-react-challange/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7c%2Fnodejs-react-challange/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7c%2Fnodejs-react-challange/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/7c","download_url":"https://codeload.github.com/7c/nodejs-react-challange/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7c%2Fnodejs-react-challange/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29298719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-10T12:23:18.846Z","status":"ssl_error","status_checked_at":"2026-02-10T12:23:06.082Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-11-18T07:15:40.125Z","updated_at":"2026-02-10T12:33:38.139Z","avatar_url":"https://github.com/7c.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# WEATHER APP WITH BACKEND CHALLENGE PROJECT\n\nFeel free to start with this challenge project to show all your skills about react\n\nTechnologies we will be covering:\n- React as UI\n- Redux as State Management\n- React-Router for routing\n- NodeJS API\n    - Using Express for API\n    - Axios as ajax requests\n    - OpenWeatherMap.org as API Endpoint\n\nWe are aware that you could do this Challange without NodeJS but we want to challange the front and backend communication.\n\n## API:\n\nWe will be working with https://openweathermap.org/ and use their free API. In order to work with them you need to signup to get an `APIKEY`. APIKey shall be stored on serverside only. \n\nGet started documentation is at https://openweathermap.org/appid and we will be working with `Weather Data` API which is at https://openweathermap.org/current . This API is able to query current weather by different properties like ZIP, Coordinate or Name of the city. We will use the Name of the city as the query property. The example API Endpoint is at https://samples.openweathermap.org/data/2.5/weather?q=London,uk\u0026appid=b6907d289e10d714a6e88b30761fae22 \n\nYou will receive different properties from that query and it is your task to decide which properties are to visualize from the api response. \n\n\n## FEATURES IN DETAIL\n- Ability to add unlimited cities by their name to a list, this list will be kept in redux (mandatory), example cities: Miami, London, Berlin, Frankfurt, Istanbul, Ankara\n- If city cannot be found show a friendly error to user\n- Ability to remove the city\n- Ability to refresh all cities unless they have been refreshed within last 60 seconds (caching)\n- Ability to search and shortlist the list of the added cities by searchbox realtime (two-way-binding)\n- We will have an `About` and `Home` pages. Home will host the Weather App itself and About view will host simple Text with Name of the App and the version. You need to use react-router to switch between these 2 views/components\n- Make sure to have proper directory structure for scalability, hint: Components, Containers, Store, CSS\n- This is the essential feature list which is required as minimum. Feel free to add new features or ideas on top of it to show your capabilities.\n- Please see `./assets/Weather_App_Mockup.png` as Mockup of the UI. Make sure to center Home and About views and make them responsive\n- Make sure to create config.js on backend and store credentials and important settings there\n- Make sure to seperate backend structure properly. Name apiserver as apiserver.js, name configuration file config.js, have a directory api/ and seperate api endpoints there as seperate files\n- Make sure to properly check for parameters on backend to be posted. Security checks\n- WE will be using ExpressJS for our API. API Endpoints shall be:\n    - POST /weather/fetch\n        parameters to post: \u003cyou decide\u003e\n\n\n## Deployment\n- Please create a github account and upload your work as public github repository. In order to do this you will need to understand basic git commands. Make sure to upload only your work, not the repos you are depending on (hint: .gitignore)\n\n- Add a basic README.md (markdown) file to describe your App and also how to build and start your app\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F7c%2Fnodejs-react-challange","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F7c%2Fnodejs-react-challange","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F7c%2Fnodejs-react-challange/lists"}