{"id":19245055,"url":"https://github.com/youssefwilliam/iweather","last_synced_at":"2026-04-10T14:38:57.196Z","repository":{"id":139024423,"uuid":"159650148","full_name":"YoussefWilliam/iWeather","owner":"YoussefWilliam","description":"This is a repo for the ACML'18 project, in this project we created a weather app, where u can know the weather of any city around the globe and save them to check them later.","archived":false,"fork":false,"pushed_at":"2018-12-16T04:13:21.000Z","size":1565,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-08T09:18:31.537Z","etag":null,"topics":["backend","database","docker","dockerfiles","express","mysql-database","phpmyadmin","phpmyadmin-database","react","reactjs","reactrouter","redux","xampp","xampp-server","yarn"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/YoussefWilliam.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":"2018-11-29T10:41:53.000Z","updated_at":"2022-06-20T09:02:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"06d039a7-4952-4f8d-963a-78cc24565be1","html_url":"https://github.com/YoussefWilliam/iWeather","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/YoussefWilliam/iWeather","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoussefWilliam%2FiWeather","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoussefWilliam%2FiWeather/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoussefWilliam%2FiWeather/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoussefWilliam%2FiWeather/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YoussefWilliam","download_url":"https://codeload.github.com/YoussefWilliam/iWeather/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoussefWilliam%2FiWeather/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002382,"owners_count":26083372,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["backend","database","docker","dockerfiles","express","mysql-database","phpmyadmin","phpmyadmin-database","react","reactjs","reactrouter","redux","xampp","xampp-server","yarn"],"created_at":"2024-11-09T17:26:27.912Z","updated_at":"2025-10-10T01:02:48.515Z","avatar_url":"https://github.com/YoussefWilliam.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"In this project we are using React.js and mysql as a server for the application.\u003cbr\u003e\nWe will get through running the app and the tools needed for it.\n\n# Part 1: Tools needed\n\n#### For the Database:\n\n### Download and install xampp\nXampp is an open source package that contains MariaDB that we use in the project\u003cbr\u003e\nSimply it provide us a localhost and we can build a MySQL database,\nYou can find the link here:[https://www.apachefriends.org/index.html]\n\n### Import Database\nAfter downloading Xampp, you can import the database of the project without creating a new one, just open [http://localhost/phpmyadmin]\nbut make sure Xampp is activated with Apache and MySQL services are ON\nThen import the database and now it's ready.\n\n#### Install react on your device:\n\n### `npm install react`\n\nBy opening [https://www.npmjs.com/package/react] you can find all the helpfull ways of understanding the React package,\nbut for now you just need this command and that's it.\n\n\u003ch4\u003eBackend requirments\u003c/h4\u003e\n\n###  `npm install yarn`\n\n\u003ch6\u003eJust open node.js comand promt and type it\u003c/h6\u003e\n\nYarn is way faster and reliable and it caches faster and that what we need to run our server for the database, open [https://www.npmjs.com/package/yarn] and check all the info needed.\n\n###  `npm init -y`\n\u003ch6\u003eJust open node.js comand promt and go direct to the server folder\u003c/h6\u003e\n\nThis is no initiate yarn package on your system\n\n###  `yarn add express mysql cors`\n\n\u003ch6\u003eJust open node.js comand promt and go direct to the server folder\u003c/h6\u003e\n\nIn this part we add express and mysql database configs to the index.json file \n\n### `nodemon index.js`\n\n\u003ch6\u003eJust open node.js comand promt and go direct to the server folder\u003c/h6\u003e\n\nThat's the way for running the backend or the server for the project, which enables the server.\u003cbr\u003e\nIt connects the server on port 4000, so in order to check the connection, open [http://localhost:4000](http://localhost:4000) to view it on the browser. \n\n# Part 2: React Dependencies\n\n### `npm install`\nBefore running the project, you have to install all the libraries and packages\n\n### `npm start`\n\nRuns the app in the development mode.\u003cbr\u003e\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\n\nThe page will reload if you make edits.\u003cbr\u003e\nYou will also see any lint errors in the console.\n\n# Part 3: Server Dependencies:\n\n### Front-end Dependencies:\n#### `react`   `react-dom`   `react-scripts`   `react-notifications`   `react-bootstrap`   `bootstrap`   `material-ui`  \n#### `material-ui/core`   `material-ui/icons`   `yarn`\n\n### Back-end Dependencies:\n#### `cors`  `express`  `mysql`  `nodemon`\n\n\u003ch4\u003eAll of these dependencies are installed once the Dockerfile is run\u003c/h4\u003e\n\n\n\nTo run the server, open the index json file in the server forder and run this command on it, if everything went right with the connection with the local database on [localhost/phpmyadmin], the cmd will print \u003ch3\u003eiWeather server is listining on port 4000\u003c/h3\u003e \u003cbr\u003e\nAfter that you are good to go.\n\n# Part 4: Docker:\n\n### `docker-compose up`\nIn this command, we aim for running both dockerfiles of the project with different ports assigned to each of them in the file\n\n### Separate Dockerfile run\nWe have two dockerfiles in the project, one for the frontend and the other for the server backend, all is run in one command but for seprate commands:\n#### First build:  `docker build -t \u003cfront/back end\u003e .`\n#### Second run:  `docker run -p \u003c3000/4000:3000/4000\u003e \u003cfront/back end\u003e`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoussefwilliam%2Fiweather","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoussefwilliam%2Fiweather","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoussefwilliam%2Fiweather/lists"}