├── DESCRIPTION.md ├── LICENSE ├── README.md ├── architecture.jpeg ├── contributing ├── ISSUES.md └── PULL-REQUESTS.md ├── data ├── Family.csv ├── NGO.csv ├── Province.csv ├── Users.csv └── transaction.csv ├── docs ├── css │ └── styles.css ├── img │ └── blue.png ├── index.html └── js │ └── scripts.js ├── logo1.png ├── roadmap2.png ├── sample-file.js └── toolchain1.png /DESCRIPTION.md: -------------------------------------------------------------------------------- 1 | # Submission name 2 | 3 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc lacinia nisi ut fringilla sodales. Etiam elementum a arcu vel fringilla. Nulla ac efficitur felis. In a nisi bibendum, efficitur felis vel, consectetur quam. Aenean ornare justo velit, sed malesuada massa efficitur ut. Sed non augue vel risus tempus lacinia ac nec est. Nunc vel finibus felis. Vivamus felis diam, porta sed rhoncus eu, luctus eget justo. 4 | 5 | Mauris odio ante, rhoncus et varius vel, vulputate et enim. Aliquam erat volutpat. Proin lacinia libero velit, a dictum sapien ultricies quis. Vivamus dolor nibh, efficitur in ipsum vitae, faucibus eleifend felis. Praesent consectetur turpis sit amet lorem tempor cursus. Nullam nec lectus massa. Proin feugiat placerat nisi lacinia lobortis. Duis efficitur ac orci ac lobortis. 6 | 7 | [Project website](https://code-and-response.github.io/Project-Sample/) 8 | 9 | ## Section 1 10 | 11 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc lacinia nisi ut fringilla sodales. Etiam elementum a arcu vel fringilla. Nulla ac efficitur felis. In a nisi bibendum, efficitur felis vel, consectetur quam. Aenean ornare justo velit, sed malesuada massa efficitur ut. Sed non augue vel risus tempus lacinia ac nec est. Nunc vel finibus felis. Vivamus felis diam, porta sed rhoncus eu, luctus eget justo. 12 | 13 | ### Subsection 1.1 14 | 15 | Mauris odio ante, rhoncus et varius vel, vulputate et enim. Aliquam erat volutpat. Proin lacinia libero velit, a dictum sapien ultricies quis. Vivamus dolor nibh, efficitur in ipsum vitae, faucibus eleifend felis. 16 | 17 | ### Subsection 1.2 18 | 19 | Nullam nec lectus massa. Proin feugiat placerat nisi lacinia lobortis. Duis efficitur ac orci ac lobortis. 20 | 21 | ## Conclusion 22 | 23 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc lacinia nisi ut fringilla sodales. Etiam elementum a arcu vel fringilla. Nulla ac efficitur felis. In a nisi bibendum, efficitur felis vel, consectetur quam. Aenean ornare justo velit, sed malesuada massa efficitur ut. Sed non augue vel risus tempus lacinia ac nec est. Nunc vel finibus felis. Vivamus felis diam, porta sed rhoncus eu, luctus eget justo. 24 | 25 | ### Results 26 | 27 | Nullam nec lectus massa. Proin feugiat placerat nisi lacinia lobortis. Duis efficitur ac orci ac lobortis. 28 | 29 | ## Acknowledgments 30 | 31 | Nullam nec lectus massa. Proin feugiat placerat nisi lacinia lobortis. Duis efficitur ac orci ac lobortis. 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![License](https://img.shields.io/badge/License-Apache2-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0) [![Community](https://img.shields.io/badge/Join-Community-blue.svg)](https://developer.ibm.com/callforcode/solutions/projects/get-started/) [![Website](https://img.shields.io/badge/View-Website-blue)](https://al-wasal-connect.eu-gb.mybluemix.net/) 2 | 3 | ![logo](logo1.png) 4 | 5 | ## Contents 6 | 7 | 1. [Description](#description) 8 | 1. [Demo video](#demo-video) 9 | 1. [The architecture](#the-architecture) 10 | 1. [Long description](#long-description) 11 | 1. [Project roadmap](#project-roadmap) 12 | 1. [Getting started](#getting-started) 13 | 1. [Live demo](#live-demo) 14 | 1. [Built with](#built-with) 15 | 1. [Version](#versioning) 16 | 1. [Authors](#authors) 17 | 1. [License](#license) 18 | 19 | ## Description 20 | 21 | ### What's the problem? 22 | 23 | Due to the current global pandemic, every country is going through economic crisis and food and other amenities supply chain has been disrupted. This disruption has caused food shortage, hoarding, mismanagement of goods. Both of these issues have especially affected lower middle class and poor strata of the population, who are not able to access essential items either due to non availability or unaffordability of goods. To provide them with basic necessities different NGOs and government agencies are conducting ration drives. However, due to lack of communication between these organisations, these necessities aren’t being evenly distributed (some families not getting supplies while others getting it multiple times) 24 | 25 | ### How can Al-Wasl.Connect platform help? 26 | 27 | Platform where needy users can put up request, which is visible to all the NGOs and donors registered on this application. The request is validated through information available from government portal related to the financial status of the family and the current aid statistics pertaining to the family under consideration that have already been added in the portal if any family member has received aid in near past. Based on these statistics, request would be either accepted or it would be rejected. The solution also takes into account the geographical proximity while routing request and also, would use machine learning techniques for ranking the needy users if the resources available are currently less than the number of requests.The solution would also predict the future aid requests for a certain area based on historical records 28 | 29 | ### Our Vision 30 | 31 | NGOs raised the concerns regarding the legitimacy and transparency of the distribution of ration and other goods. We collaborated with NGOs in order to better understand the problem and hence, are proposing a blockchain and analytics based system that help mitigate this issue through distributed ledger of transactions. Hoarding of goods is another issue that countries all over the world are facing, this solution will also address this issue through decision system that restricts individuals from getting excessive amount of goods. 32 | 33 | ## Demo video 34 | 35 | [Here](https://ibm.box.com/s/f0c6ho9ca6p5gw3o1k8u3dp1lfkn7o64) 36 | 37 | 38 | ## The architecture 39 | 40 | ![image](architecture.jpeg) 41 | 42 | ## Project roadmap 43 | 44 | ![Roadmap](roadmap2.png) 45 | 46 | 47 | ## Getting started 48 | 49 | These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system. 50 | 51 | ### Prerequisites 52 | 53 | 1. [IBM Account](http://ibm.biz/C4CBeirut) 54 | 1. [Install IBM CLI tool](https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli) 55 | 1. [GitHub Account & some knowledge](https://github.com/) 56 | 1. [Node.js installed](https://nodejs.org/en/) 57 | 1. Clone this repo on your local machine [here](https://github.com/Call-for-Code/Al-Wasl.Connect) 58 | 59 | 60 | ### Installing 61 | 62 | Kindly follow below steps to run the application successfully 63 | 64 | ## Db2 service: 65 | All csv are available [here](https://github.com/Call-for-Code/Al-Wasl.Connect/tree/master/data) 66 | 1. Search db2 service(simple), select __lite plan__ and create. 67 | 1. First step is to create __service credentials__ 68 | 1. Open db2 service from resource list and from left menu __service credentials__, click __new credentials__ and then add. (We will use these credentials in .env file) 69 | 1. Now lets open db2 console, click __manage__ from left menu and select __Open Console__ 70 | 1. Select three dots on top left, then click __Load Data__ 71 | 1. Drop data .csv file available [here](https://github.com/Call-for-Code/Al-Wasl.Connect/tree/master/data), select target schema 72 | 1. Kindly use defualt schema that would similar to __RGJ19757__(three letters and 4 digits) 73 | 1. Click new __table__, if the .csv file is Transaction.csv give the table name __Transaction__. 74 | 75 | __NOTE__ : When data is loaded. If there is __DATE__ field, please change the Date format: __DD/MM/YYYY__ and Timestamp format:__DD/MM/YYYY H:MM TT__ 76 | 1. Once everything is completed click __Begin Load__ 77 | 1. Follow steps 5-9 for other 4 csv files. 78 | 79 | 80 | ## Backend service: 81 | 1. Backend service is implemented in node.js 82 | 1. Backend server is available [here](https://github.com/Call-for-Code/Al-Wasl.Connect/tree/backend) . Make sure to clone it. 83 | 1. Move into the directory and make the changes as below: 84 | 1. In __manifest.yml__ change name and host field to some unique value. 85 | 1. Please add __.env__ file with your db2 credentials 86 | 1. Then login IBM Cloud Platform from CLI 87 | 1. Once above steps are completed,must be in backend directory and pass __cf push 'name of app'__ command to create the IBM Cloud Foundry service. 88 | 1. Copy the URL example https://trustdon....eu-gb.mybluemix.net/ that will be used in __Frontend servie__ step 4. 89 | 90 | 91 | ## Frontend service : 92 | 1. Frontend service is implemented in angular 9 93 | 1. Applicaiton frontend is available [here](https://github.com/Call-for-Code/Al-Wasl.Connect/tree/frontend) 94 | 1. Update __.env__ file with db2 service credentials 95 | 1. Update route in two files: 96 | ```bash 97 | Open src folder -> environments (update .ts & .prod files where the backend server is URL running eg https://trustdon....eu-gb.mybluemix.net/) 98 | ``` 99 | 1. Run __“npm install”__ 100 | 1. Run __“yarn install”__ 101 | 1. Then build the project __“ng build”__ 102 | 1. Now you can see the __“Dist”__ folder , add manifest.yml (keep name unique, available [here](https://github.com/Call-for-Code/Al-Wasl.Connect/blob/frontend/manifest.yml)) 103 | 1. Push only __Dist__ folder files to your GitHub repositry 104 | 1. Need to integrate __IBM Toolchain__ service [here](https://cloud.ibm.com/devops/create) for Continuous Integration and deployment 105 | 1. Open IBM Account search for Toolchain and select develop a Cloud Foundry app. 106 | 107 | ***NOTE : Clone the application and push it under your GitHub account and provide the URL. Because pipeline will not trigger if some changes are made in the repository.*** 108 | 109 | ![toolchain](toolchain1.png) 110 | 111 | 12. In __Delivery Pipeline__ section , select new -> ok (it will generate a new API) 112 | 13. Make sure under Source repository URL field pass GitHub __Dis__ path. 113 | 14. Once above steps are completed click __Create__. 114 | 15. This toolchain will automatically create a Cloud Foundry app for you go to resources list and check application would be up and running. 115 | 116 | ## Live demo 117 | 118 | You can find a running application at [here](https://al-wasal-connect.eu-gb.mybluemix.net/) 119 | 120 | __Credentials__ 121 | 122 | 1. Donor Login 123 | - Registration # : 1234567890112 124 | - password : 1234 125 | 126 | 1. Government Login 127 | - Username : govt 128 | - password : admin 129 | 130 | 131 | ## Built with 132 | * [IBM Cloud Foundry](https://cloud.ibm.com/cloudfoundry/overview) 133 | * [IBM Toolchain](https://cloud.ibm.com/devops/create) 134 | * [IBM db2 simple](https://cloud.ibm.com/catalog/services/db2) 135 | * [Node.js](https://nodejs.org/en/) 136 | * [Angular](https://angular.io/) 137 | 138 | ## Version 139 | 140 | v1.0 141 | 142 | ## Authors 143 | 144 | See also the list of [contributors](https://github.com/Call-for-Code/Al-Wasl.Connect/graphs/contributors) who participated in this project. 145 | 146 | ## License 147 | 148 | This project is licensed under the Apache 2 License - see the [LICENSE](LICENSE) file for details 149 | -------------------------------------------------------------------------------- /architecture.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Call-for-Code/Al-Wasl.Connect/a12c80779db411e19d228488e264a78671ff178d/architecture.jpeg -------------------------------------------------------------------------------- /contributing/ISSUES.md: -------------------------------------------------------------------------------- 1 | # Issues 2 | 3 | * [How to Contribute in Issues](#how-to-contribute-in-issues) 4 | * [Asking for General Help](#asking-for-general-help) 5 | * [Discussing non-technical topics](#discussing-non-technical-topics) 6 | * [Submitting a Bug Report](#submitting-a-bug-report) 7 | * [Triaging a Bug Report](#triaging-a-bug-report) 8 | * [Resolving a Bug Report](#resolving-a-bug-report) 9 | 10 | ## How to Contribute in Issues 11 | 12 | For any issue, there are fundamentally three ways an individual can 13 | contribute: 14 | 15 | 1. By opening the issue for discussion: For instance, if you believe that you 16 | have uncovered a bug in Al-Wasl.Connect, creating a new issue in the `Call-for-Code/Al-Wasl.Connect` 17 | issue tracker is the way to report it. 18 | 2. By helping to triage the issue: This can be done either by providing 19 | supporting details (a test case that demonstrates a bug), or providing 20 | suggestions on how to address the issue. 21 | 3. By helping to resolve the issue: Typically this is done either in the form 22 | of demonstrating that the issue reported is not a problem after all, or more 23 | often, by opening a Pull Request that changes some bit of something in 24 | `Call-for-Code/Al-Wasl.Connect` in a concrete and reviewable manner. 25 | 26 | ## Asking for General Help 27 | 28 | The best place to ask for help is through the [Call for Code Slack workspace][]. Open an 29 | issue to request an invitation. 30 | 31 | ## Discussing non-technical topics 32 | 33 | Discussion of non-technical topics are also best to discuss in the #general channel 34 | of the [Call for Code Slack workspace][]. 35 | 36 | ## Submitting a Bug Report 37 | 38 | When opening a new issue in the `Call-for-Code/Al-Wasl.Connect` issue tracker, please provide as much 39 | detail about your environment as possible. 40 | 41 | See [How to create a Minimal, Complete, and Verifiable example](https://stackoverflow.com/help/mcve). 42 | 43 | ## Triaging a Bug Report 44 | 45 | Once an issue has been opened, it is not uncommon for there to be discussion 46 | around it. Some contributors may have differing opinions about the issue, 47 | including whether the behavior being seen is a bug or a feature. This discussion 48 | is part of the process and should be kept focused, helpful, and professional. 49 | 50 | Short, clipped responses—that provide neither additional context nor supporting 51 | detail—are not helpful or professional. To many, such responses are simply 52 | annoying and unfriendly. 53 | 54 | Contributors are encouraged to help one another make forward progress as much 55 | as possible, empowering one another to solve issues collaboratively. If you 56 | choose to comment on an issue that you feel either is not a problem that needs 57 | to be fixed, or if you encounter information in an issue that you feel is 58 | incorrect, explain *why* you feel that way with additional supporting context, 59 | and be willing to be convinced that you may be wrong. By doing so, we can often 60 | reach the correct outcome much faster. 61 | 62 | ## Resolving a Bug Report 63 | 64 | In the vast majority of cases, issues are resolved by opening a Pull Request. 65 | The process for opening and reviewing a Pull Request isa similar to that of 66 | opening and triaging issues, but carries with it a necessary review and approval 67 | workflow that ensures that the proposed changes meet the minimal quality and 68 | functional guidelines of the Al-Wasl.Connect. 69 | 70 | [Call for Code Slack workspace]: https://callforcode.org/slack 71 | -------------------------------------------------------------------------------- /contributing/PULL-REQUESTS.md: -------------------------------------------------------------------------------- 1 | # Pull Requests 2 | 3 | There are two fundamental components of the Pull Request process: one concrete 4 | and technical, and one more process oriented. The concrete and technical 5 | component involves the specific details of setting up your local environment 6 | so that you can make the actual changes. This is where we will start. 7 | 8 | * [Dependencies](#dependencies) 9 | * [Setting up your local environment](#setting-up-your-local-environment) 10 | * [Step 1: Fork](#step-1-fork) 11 | * [Step 2: Branch](#step-2-branch) 12 | * [The Process of Making Changes](#the-process-of-making-changes) 13 | * [Step 3: Code](#step-3-code) 14 | * [Step 4: Commit](#step-4-commit) 15 | * [Commit message guidelines](#commit-message-guidelines) 16 | * [Step 5: Rebase](#step-5-rebase) 17 | * [Step 6: Test](#step-6-test) 18 | * [Step 7: Push](#step-7-push) 19 | * [Step 8: Opening the Pull Request](#step-8-opening-the-pull-request) 20 | * [Step 9: Discuss and Update](#step-9-discuss-and-update) 21 | * [Approval and Request Changes Workflow](#approval-and-request-changes-workflow) 22 | * [Step 10: Landing](#step-10-landing) 23 | * [Reviewing Pull Requests](#reviewing-pull-requests) 24 | * [Review a bit at a time](#review-a-bit-at-a-time) 25 | * [Be aware of the person behind the code](#be-aware-of-the-person-behind-the-code) 26 | * [Respect the minimum wait time for comments](#respect-the-minimum-wait-time-for-comments) 27 | * [Abandoned or Stalled Pull Requests](#abandoned-or-stalled-pull-requests) 28 | * [Approving a change](#approving-a-change) 29 | * [Accept that there are different opinions about what belongs in Al-Wasl.Connect](#accept-that-there-are-different-opinions-about-what-belongs-in-Al-Wasl.Connect) 30 | * [Performance is not everything](#performance-is-not-everything) 31 | * [Continuous Integration Testing](#continuous-integration-testing) 32 | * [Notes](#notes) 33 | * [Commit Squashing](#commit-squashing) 34 | * [Getting Approvals for your Pull Request](#getting-approvals-for-your-pull-request) 35 | * [CI Testing](#ci-testing) 36 | * [Waiting Until the Pull Request Gets Landed](#waiting-until-the-pull-request-gets-landed) 37 | * [Check Out the Collaborator Guide](#check-out-the-collaborator-guide) 38 | 39 | ## Dependencies 40 | 41 | More details to come on Al-Wasl.Connect dependencies. In case of doubt, open an issue in the 42 | [issue tracker](https://github.com/Call-for-Code/Al-Wasl.Connect/issues) or engage on the 43 | [Project Sample Slack workspace][]. 44 | 45 | ## Setting up your local environment 46 | 47 | To get started, you will need to have `git` installed locally. Depending on 48 | your operating system, there are also a number of other dependencies required. 49 | 50 | Once you have `git` and are sure you have all of the necessary dependencies, 51 | it's time to create a fork. 52 | 53 | ### Step 1: Fork 54 | 55 | Fork the project [on GitHub](https://github.com/Call-for-Code/Al-Wasl.Connect.git) and clone your fork 56 | locally. 57 | 58 | ```text 59 | $ git clone git@github.com/Call-for-Code/Al-Wasl.Connect 60 | $ cd Al-Wasl.Connect 61 | $ git remote add https://github.com/Call-for-Code/Al-Wasl.Connect.git 62 | $ git fetch upstream 63 | ``` 64 | 65 | It is recommended to configure `git` so that it knows who you are: 66 | 67 | ```text 68 | $ git config user.name "J. Random User" 69 | $ git config user.email "j.random.user@example.com" 70 | ``` 71 | 72 | You can use any name/email address you prefer here. We only use the 73 | metadata generated by `git` using this configuration for properly attributing 74 | your changes to you in the `AUTHORS` file and the changelog. 75 | 76 | 77 | ### Step 2: Branch 78 | 79 | As a best practice to keep your development environment as organized as 80 | possible, create local branches to work within. These should also be created 81 | directly off of the `master` branch. 82 | 83 | ```text 84 | $ git checkout -b my-branch -t upstream/master 85 | ``` 86 | 87 | ## The Process of Making Changes 88 | 89 | ### Step 3: Code 90 | 91 | Al-Wasl.Connect does not yet have a style guide. If you're interested in creating one, you're on the right page. 92 | 93 | 94 | ### Step 4: Commit 95 | 96 | It is a recommended best practice to keep your changes as logically grouped 97 | as possible within individual commits. There is no limit to the number of 98 | commits any single Pull Request may have, and many contributors find it easier 99 | to review changes that are split across multiple commits. 100 | 101 | ```text 102 | $ git add my/changed/files 103 | $ git commit 104 | ``` 105 | 106 | Note that multiple commits often get squashed when they are landed (see the 107 | notes about [commit squashing](#commit-squashing)). 108 | 109 | #### Commit message guidelines 110 | 111 | A good commit message should describe what changed and why. 112 | 113 | 1. The first line should: 114 | - contain a short description of the change (preferably 50 characters or 115 | less, and no more than 72 characters) 116 | - be entirely in lowercase with the exception of proper nouns, acronyms, and 117 | the words that refer to code, like function/variable names 118 | - be prefixed with the name of the changed subsystem and start with an 119 | imperative verb. Check the output of `git log --oneline files/you/changed` to 120 | find out what subsystems your changes touch. 121 | 122 | Examples: 123 | - `net: add localAddress and localPort to Socket` 124 | - `src: fix typos in async_wrap.h` 125 | 126 | 127 | 2. Keep the second line blank. 128 | 3. Wrap all other lines at 72 columns (except for long URLs). 129 | 130 | 4. If your patch fixes an open issue, you can add a reference to it at the end 131 | of the log. Use the `Fixes:` prefix and the full issue URL. For other references 132 | use `Refs:`. 133 | 134 | Sample complete commit message: 135 | 136 | ```txt 137 | subsystem: explain the commit in one line 138 | 139 | Body of commit message is a few lines of text, explaining things 140 | in more detail, possibly giving some background about the issue 141 | being fixed, etc. 142 | 143 | The body of the commit message can be several paragraphs, and 144 | please do proper word-wrap and keep columns shorter than about 145 | 72 characters or so. That way, `git log` will show things 146 | nicely even when it is indented. 147 | 148 | Fixes: https://github.com/Call-for-Code/Al-Wasl.Connect/issues/1337 149 | Refs: http://eslint.org/docs/rules/space-in-parens.html 150 | ``` 151 | 152 | If you are new to contributing to Al-Wasl.Connect, please try to do your best at 153 | conforming to these guidelines, but do not worry if you get something wrong. 154 | One of the existing contributors will help get things situated and the 155 | contributor landing the Pull Request will ensure that everything follows 156 | the project guidelines. 157 | 158 | ### Step 5: Rebase 159 | 160 | As a best practice, once you have committed your changes, it is a good idea 161 | to use `git rebase` (not `git merge`) to synchronize your work with the main 162 | repository. 163 | 164 | ```text 165 | $ git fetch upstream 166 | $ git rebase upstream/master 167 | ``` 168 | 169 | This ensures that your working branch has the latest changes from `c` 170 | master. 171 | 172 | ### Step 6: Test 173 | 174 | Instructions should also be provided so that the core team can validate the change. 175 | 176 | ### Step 7: Push 177 | 178 | Once you are sure your commits are ready to go, with passing tests and linting, 179 | begin the process of opening a Pull Request by pushing your working branch to 180 | your fork on GitHub. 181 | 182 | ```text 183 | $ git push origin my-branch 184 | ``` 185 | 186 | ### Step 8: Opening the Pull Request 187 | 188 | From within GitHub, opening a new Pull Request will present you with a few 189 | form fields. 190 | 191 | Please try to do your best at filling out the details, but feel free to skip 192 | parts if you're not sure what to put. 193 | 194 | Once opened, Pull Requests are usually reviewed within a few days. 195 | 196 | ### Step 9: Discuss and update 197 | 198 | You will probably get feedback or requests for changes to your Pull Request. 199 | This is a big part of the submission process so don't be discouraged! Some 200 | contributors may sign off on the Pull Request right away, others may have 201 | more detailed comments or feedback. This is a necessary part of the process 202 | in order to evaluate whether the changes are correct and necessary. 203 | 204 | To make changes to an existing Pull Request, make the changes to your local 205 | branch, add a new commit with those changes, and push those to your fork. 206 | GitHub will automatically update the Pull Request. 207 | 208 | ```text 209 | $ git add my/changed/files 210 | $ git commit 211 | $ git push origin my-branch 212 | ``` 213 | 214 | It is also frequently necessary to synchronize your Pull Request with other 215 | changes that have landed in `master` by using `git rebase`: 216 | 217 | ```text 218 | $ git fetch --all 219 | $ git rebase origin/master 220 | $ git push --force-with-lease origin my-branch 221 | ``` 222 | 223 | **Important:** The `git push --force-with-lease` command is one of the few ways 224 | to delete history in `git`. Before you use it, make sure you understand the 225 | risks. If in doubt, you can always ask for guidance in the Pull Request or on the 226 | [Project Sample Slack workspace]. 227 | 228 | If you happen to make a mistake in any of your commits, do not worry. You can 229 | amend the last commit (for example if you want to change the commit log). 230 | 231 | ```text 232 | $ git add any/changed/files 233 | $ git commit --amend 234 | $ git push --force-with-lease origin my-branch 235 | ``` 236 | 237 | There are a number of more advanced mechanisms for managing commits using 238 | `git rebase` that can be used, but are beyond the scope of this guide. 239 | 240 | Feel free to post a comment in the Pull Request to ping reviewers if you are 241 | awaiting an answer on something. If you encounter words or acronyms that 242 | seem unfamiliar, refer to this 243 | [glossary](https://sites.google.com/a/chromium.org/dev/glossary). 244 | 245 | #### Approval and Request Changes Workflow 246 | 247 | All Pull Requests require "sign off" in order to land. Whenever a contributor 248 | reviews a Pull Request they may find specific details that they would like to 249 | see changed or fixed. These may be as simple as fixing a typo, or may involve 250 | substantive changes to the code you have written. While such requests are 251 | intended to be helpful, they may come across as abrupt or unhelpful, especially 252 | requests to change things that do not include concrete suggestions on *how* to 253 | change them. 254 | 255 | Try not to be discouraged. If you feel that a particular review is unfair, 256 | say so, or contact one of the other contributors in the project and seek their 257 | input. Often such comments are the result of the reviewer having only taken a 258 | short amount of time to review and are not ill-intended. Such issues can often 259 | be resolved with a bit of patience. That said, reviewers should be expected to 260 | be helpful in their feedback, and feedback that is simply vague, dismissive and 261 | unhelpful is likely safe to ignore. 262 | 263 | ### Step 10: Landing 264 | 265 | In order to land, a Pull Request needs to be reviewed and [approved][] by 266 | at least one Al-Wasl.Connect Collaborator. After that, as long as there are no 267 | objections from other contributors, the Pull Request can be merged. If you find 268 | your Pull Request waiting longer than you expect, see the 269 | [notes about the waiting time](#waiting-until-the-pull-request-gets-landed). 270 | 271 | When a collaborator lands your Pull Request, they will post 272 | a comment to the Pull Request page mentioning the commit(s) it 273 | landed as. GitHub often shows the Pull Request as `Closed` at this 274 | point, but don't worry. If you look at the branch you raised your 275 | Pull Request against (probably `master`), you should see a commit with 276 | your name on it. Congratulations and thanks for your contribution! 277 | 278 | ## Reviewing Pull Requests 279 | 280 | All Al-Wasl.Connect contributors who choose to review and provide feedback on Pull 281 | Requests have a responsibility to both the project and the individual making the 282 | contribution. Reviews and feedback must be helpful, insightful, and geared 283 | towards improving the contribution as opposed to simply blocking it. If there 284 | are reasons why you feel the PR should not land, explain what those are. Do not 285 | expect to be able to block a Pull Request from advancing simply because you say 286 | "No" without giving an explanation. Be open to having your mind changed. Be open 287 | to working with the contributor to make the Pull Request better. 288 | 289 | Reviews that are dismissive or disrespectful of the contributor or any other 290 | reviewers are strictly counter to the [Code of Conduct][]. 291 | 292 | When reviewing a Pull Request, the primary goals are for the codebase to improve 293 | and for the person submitting the request to succeed. Even if a Pull Request 294 | does not land, the submitters should come away from the experience feeling like 295 | their effort was not wasted or unappreciated. Every Pull Request from a new 296 | contributor is an opportunity to grow the community. 297 | 298 | ### Review a bit at a time. 299 | 300 | Do not overwhelm new contributors. 301 | 302 | It is tempting to micro-optimize and make everything about relative performance, 303 | perfect grammar, or exact style matches. Do not succumb to that temptation. 304 | 305 | Focus first on the most significant aspects of the change: 306 | 307 | 1. Does this change make sense for Al-Wasl.Connect? 308 | 2. Does this change make Al-Wasl.Connect better, even if only incrementally? 309 | 3. Are there clear bugs or larger scale issues that need attending to? 310 | 4. Is the commit message readable and correct? If it contains a breaking change 311 | is it clear enough? 312 | 313 | When changes are necessary, *request* them, do not *demand* them, and do not 314 | assume that the submitter already knows how to add a test or run a benchmark. 315 | 316 | Specific performance optimization techniques, coding styles and conventions 317 | change over time. The first impression you give to a new contributor never does. 318 | 319 | Nits (requests for small changes that are not essential) are fine, but try to 320 | avoid stalling the Pull Request. Most nits can typically be fixed by the 321 | Al-Wasl.Connect Collaborator landing the Pull Request but they can also be an 322 | opportunity for the contributor to learn a bit more about the project. 323 | 324 | It is always good to clearly indicate nits when you comment: e.g. 325 | `Nit: change foo() to bar(). But this is not blocking.` 326 | 327 | If your comments were addressed but were not folded automatically after new 328 | commits or if they proved to be mistaken, please, [hide them][hiding-a-comment] 329 | with the appropriate reason to keep the conversation flow concise and relevant. 330 | 331 | ### Be aware of the person behind the code 332 | 333 | Be aware that *how* you communicate requests and reviews in your feedback can 334 | have a significant impact on the success of the Pull Request. Yes, we may land 335 | a particular change that makes Al-Wasl.Connect better, but the individual might just 336 | not want to have anything to do with Al-Wasl.Connect ever again. The goal is not just 337 | having good code. 338 | 339 | ### Respect the minimum wait time for comments 340 | 341 | There is a minimum waiting time which we try to respect for non-trivial 342 | changes, so that people who may have important input in such a distributed 343 | project are able to respond. 344 | 345 | For non-trivial changes, Pull Requests must be left open for at least 48 hours. 346 | In most cases, when the PR is relatively small and focused on a narrow set of 347 | changes, that will provide more than enough time to adequately review. Sometimes 348 | changes take far longer to review, or need more specialized review from subject 349 | matter experts. When in doubt, do not rush. 350 | 351 | Trivial changes, typically limited to small formatting changes or fixes to 352 | documentation, may be landed within the minimum 48 hour window. 353 | 354 | ### Abandoned or Stalled Pull Requests 355 | 356 | If a Pull Request appears to be abandoned or stalled, it is polite to first 357 | check with the contributor to see if they intend to continue the work before 358 | checking if they would mind if you took it over (especially if it just has 359 | nits left). When doing so, it is courteous to give the original contributor 360 | credit for the work they started (either by preserving their name and email 361 | address in the commit log, or by using an `Author: ` meta-data tag in the 362 | commit. 363 | 364 | ### Approving a change 365 | 366 | Any Al-Wasl.Connect Collaborator (any GitHub user with commit rights in the 367 | `Code-and-Response/Al-Wasl.Connect` repository) is authorized to approve any other contributor's 368 | work. Collaborators are not permitted to approve their own Pull Requests. 369 | 370 | Collaborators indicate that they have reviewed and approve of the changes in 371 | a Pull Request either by using GitHub's Approval Workflow, which is preferred, 372 | or by leaving an `LGTM` ("Looks Good To Me") comment. 373 | 374 | When explicitly using the "Changes requested" component of the GitHub Approval 375 | Workflow, show empathy. That is, do not be rude or abrupt with your feedback 376 | and offer concrete suggestions for improvement, if possible. If you're not 377 | sure *how* a particular change can be improved, say so. 378 | 379 | Most importantly, after leaving such requests, it is courteous to make yourself 380 | available later to check whether your comments have been addressed. 381 | 382 | If you see that requested changes have been made, you can clear another 383 | collaborator's `Changes requested` review. 384 | 385 | Change requests that are vague, dismissive, or unconstructive may also be 386 | dismissed if requests for greater clarification go unanswered within a 387 | reasonable period of time. 388 | 389 | If you do not believe that the Pull Request should land at all, use 390 | `Changes requested` to indicate that you are considering some of your comments 391 | to block the PR from landing. When doing so, explain *why* you believe the 392 | Pull Request should not land along with an explanation of what may be an 393 | acceptable alternative course, if any. 394 | 395 | ### Accept that there are different opinions about what belongs in Al-Wasl.Connect 396 | 397 | Opinions on this vary, even among the members of the Technical Steering 398 | Committee. 399 | 400 | One general rule of thumb is that if Al-Wasl.Connect itself needs it (due to historic 401 | or functional reasons), then it belongs in Al-Wasl.Connect. 402 | 403 | Also, functionality that either cannot be implemented outside of core in any 404 | reasonable way, or only with significant pain. 405 | 406 | It is not uncommon for contributors to suggest new features they feel would 407 | make Al-Wasl.Connect better. These may or may not make sense to add, but as with all 408 | changes, be courteous in how you communicate your stance on these. Comments 409 | that make the contributor feel like they should have "known better" or 410 | ridiculed for even trying run counter to the [Code of Conduct][]. 411 | 412 | ### Performance is not everything 413 | 414 | Al-Wasl.Connect has always optimized for speed of execution. If a particular change 415 | can be shown to make some part of Al-Wasl.Connect faster, it's quite likely to be 416 | accepted. Claims that a particular Pull Request will make things faster will 417 | almost always be met by requests for performance [benchmark results][] that 418 | demonstrate the improvement. 419 | 420 | That said, performance is not the only factor to consider. Al-Wasl.Connect also 421 | optimizes in favor of not breaking existing code in the ecosystem, and not 422 | changing working functional code just for the sake of changing. 423 | 424 | If a particular Pull Request introduces a performance or functional 425 | regression, rather than simply rejecting the Pull Request, take the time to 426 | work *with* the contributor on improving the change. Offer feedback and 427 | advice on what would make the Pull Request acceptable, and do not assume that 428 | the contributor should already know how to do that. Be explicit in your 429 | feedback. 430 | 431 | ### Continuous Integration Testing 432 | 433 | Every Pull Request needs to be tested 434 | to make sure that it works on the platforms that Al-Wasl.Connect 435 | supports. This is currently done manually, but automated testing 436 | may come soon. 437 | 438 | ## Notes 439 | 440 | ### Commit Squashing 441 | 442 | In most cases, do not squash commits that you add to your Pull Request during 443 | the review process. When the commits in your Pull Request land, they may be 444 | squashed into one commit per logical change. Metadata will be added to the 445 | commit message (including links to the Pull Request, links to relevant issues, 446 | and the names of the reviewers). The commit history of your Pull Request, 447 | however, will stay intact on the Pull Request page. 448 | 449 | For the size of "one logical change", 450 | [0b5191f](https://github.com/nodejs/node/commit/0b5191f15d0f311c804d542b67e2e922d98834f8) 451 | can be a good example. It touches the implementation, the documentation, 452 | and the tests, but is still one logical change. All tests should always pass 453 | when each individual commit lands on the master branch. 454 | 455 | ### Getting Approvals for Your Pull Request 456 | 457 | A Pull Request is approved either by saying LGTM, which stands for 458 | "Looks Good To Me", or by using GitHub's Approve button. 459 | GitHub's Pull Request review feature can be used during the process. 460 | For more information, check out 461 | [the video tutorial](https://www.youtube.com/watch?v=HW0RPaJqm4g) 462 | or [the official documentation](https://help.github.com/articles/reviewing-changes-in-pull-requests/). 463 | 464 | After you push new changes to your branch, you need to get 465 | approval for these new changes again, even if GitHub shows "Approved" 466 | because the reviewers have hit the buttons before. 467 | 468 | ### CI Testing 469 | 470 | Every Pull Request needs to be tested 471 | to make sure that it works on the platforms that Al-Wasl.Connect 472 | supports. This is currently done manually, but automated testing 473 | may come soon. 474 | 475 | ### Waiting Until the Pull Request Gets Landed 476 | 477 | A Pull Request needs to stay open for at least 48 hours from when it is 478 | submitted, even after it gets approved and passes the CI. This is to make sure 479 | that everyone has a chance to weigh in. If the changes are trivial, 480 | collaborators may decide it doesn't need to wait. A Pull Request may well take 481 | longer to be merged in. 482 | -------------------------------------------------------------------------------- /data/Family.csv: -------------------------------------------------------------------------------- 1 | Family_id,Lat,Long 2 | 1,24.9559,67.10234 3 | 2,31.66149,74.36564 4 | 3,24.91625,67.1568 5 | 4,24.89341,67.10533 6 | 5,24.95232,67.08905 7 | 6,24.97131,67.05781 8 | 7,24.90347,67.11 9 | 8,24.90742,67.15449 10 | 9,31.63422,74.4435 11 | 10,24.95676,67.11338 12 | 11,31.61339,74.45017 13 | 12,24.98974,67.05941 14 | 13,24.91506,67.08197 15 | 14,24.93353,67.15388 16 | 15,24.90259,67.18771 17 | 16,24.91898,67.09705 18 | 17,25.01214,67.17344 19 | 18,24.98313,67.12783 20 | 19,31.52666,74.40291 21 | 20,24.96437,67.16424 22 | 21,31.008263,74.21901 23 | 22,24.99968,67.07133 24 | 23,31.59393,74.4319 25 | 24,31.56202,74.47959 26 | 25,24.92192,67.05803 27 | 26,24.91685,67.0717 28 | 27,24.93186,67.16098 29 | 28,31.5443,74.53846 30 | 29,25.00178,67.10007 31 | 30,31.70501,74.38057 32 | 31,31.57373,74.40236 33 | 32,31.56778,74.4411 34 | 33,31.6632,74.47268 35 | 34,31.52839,74.43725 36 | 35,31.53252,74.47415 37 | 36,25.01056,67.09763 38 | 37,24.9518,67.13873 39 | 38,31.64927,74.51728 40 | 39,24.90993,67.07855 41 | 40,25.02552,67.17693 42 | 41,25.03111,67.16099 43 | 42,24.94188,67.13016 44 | 43,31.58491,74.4392 45 | 44,31.56609,74.42548 46 | 45,31.58286,74.45316 47 | 46,24.92536,67.04294 48 | 47,31.57632,74.45534 49 | 48,31.5445,74.41149 50 | 49,31.71102,74.46307 51 | 50,31.60828,74.44044 52 | 51,24.94957,67.05528 53 | 52,31.61783,74.47741 54 | 53,24.99491,67.10896 55 | 54,31.59864,74.45117 56 | 55,31.58495,74.41801 57 | 56,24.9878,67.10577 58 | 57,31.59193,74.4766 59 | 58,25.0099,67.0756 60 | 59,24.9423,67.03224 61 | 60,24.95638,67.07065 62 | 61,24.94602,67.05484 63 | 62,31.5582,74.38905 64 | 63,31.58135,74.40344 65 | 64,31.52348,74.48487 66 | 65,31.57815,74.50506 67 | 66,31.71057,74.40599 68 | 67,24.94021,67.04701 69 | 68,25.00279,67.09785 70 | 69,31.63762,74.50861 71 | 70,31.65352,74.42885 72 | 71,24.99881,67.0281 73 | 72,24.95609,67.10569 74 | 73,31.53076,74.48693 75 | 74,31.65002,74.47627 76 | 75,24.93526,67.04737 77 | 76,31.61281,74.46088 78 | 77,24.91878,67.1575 79 | 78,31.53105,74.45977 80 | 79,31.57303,74.47167 81 | 80,31.61649,74.40992 82 | 81,31.67764,74.45385 83 | 82,31.53165,74.47888 84 | 83,24.89785,67.09988 85 | 84,24.91404,67.11631 86 | 85,25.04794,67.14595 87 | 86,25.03365,67.11408 88 | 87,24.95386,67.04651 89 | 88,24.89108,67.06244 90 | 89,24.99811,67.16237 91 | 90,25.0257,67.12603 92 | 91,24.97074,67.05 93 | 92,25.00453,67.04838 94 | 93,31.59089,74.39447 95 | 94,31.64855,74.39895 96 | 95,24.9502,67.16582 97 | 96,24.93781,67.11559 98 | 97,24.90492,67.10955 99 | 98,24.98608,67.16898 100 | 99,24.95676,67.14391 101 | 100,31.62919,74.46986 102 | 101,31.60945,74.43104 103 | 102,25.0201,67.05521 104 | 103,31.56574,74.51532 105 | 104,31.61887,74.53607 106 | 105,24.95314,67.08912 107 | 106,24.95197,67.0854 108 | 107,24.90782,67.08794 109 | 108,31.58724,74.40721 110 | 109,31.65233,74.45029 111 | 110,31.61851,74.40774 112 | 111,24.91714,67.10926 113 | 112,31.5924,74.52766 114 | 113,24.89114,67.10432 115 | 114,31.60697,74.44191 116 | 115,31.54368,74.46327 117 | 116,24.87686,67.09657 118 | 117,24.88654,67.18323 119 | 118,24.95427,67.0875 120 | 119,31.63567,74.42588 121 | 120,25.02687,67.10219 122 | 121,31.58012,74.41527 123 | 122,24.96177,67.07878 124 | 123,25.03048,67.06487 125 | 124,24.98474,67.11349 126 | 125,24.96921,67.10868 127 | 126,24.96525,67.12671 128 | 127,24.96273,67.06125 129 | 128,25.02955,67.10332 130 | 129,24.99756,67.08211 131 | 130,24.99756,67.10455 132 | 131,24.93801,67.0882 133 | 132,31.57416,74.51414 134 | 133,24.94845,67.1227 135 | 134,24.95913,67.10359 136 | 135,31.56376,74.46844 137 | 136,24.99887,67.11668 138 | 137,31.66233,74.47917 139 | 138,24.8906,67.08425 140 | 139,24.88756,67.09392 141 | 140,25.00174,67.0704 142 | 141,31.21062,74.03926 143 | 142,31.57549,74.46613 144 | 143,24.93649,67.08559 145 | 144,24.90771,67.10832 146 | 145,31.67604,74.45817 147 | 146,25.03348,67.12655 148 | 147,31.70329,74.41708 149 | 148,24.96065,67.1276 150 | 149,24.92762,67.14938 151 | 150,24.95019,67.1608 152 | 151,24.89956,67.06767 153 | 152,31.60466,74.41574 154 | 153,25.01927,67.03941 155 | 154,24.98105,67.15321 156 | 155,24.95512,67.11329 157 | 156,31.61847,74.42644 158 | 157,25.00349,67.03203 159 | 158,24.92548,67.07645 160 | 159,31.54788,74.44643 161 | 160,31.5659,74.4435 162 | 161,25.01404,67.06281 163 | 162,24.97365,67.12282 164 | 163,31.60413,74.41022 165 | 164,31.56414,74.44978 166 | 165,24.87536,67.16194 167 | 166,24.96686,67.1156 168 | 167,31.63213,74.52065 169 | 168,31.59229,74.53815 170 | 169,24.92432,67.12983 171 | 170,24.93127,67.11984 172 | 171,31.56117,74.48115 173 | 172,31.63404,74.52787 174 | 173,25.011,67.07815 175 | 174,31.60258,74.39091 176 | 175,31.58072,74.42482 177 | 176,31.62379,74.46883 178 | 177,25.00281,67.07705 179 | 178,25.02095,67.09116 180 | 179,24.93579,67.11373 181 | 180,31.58102,74.45753 182 | 181,24.99623,67.17679 183 | 182,24.99303,67.05944 184 | 183,31.54394,74.41447 185 | 184,24.94383,67.05775 186 | 185,31.5788,74.47061 187 | 186,31.64714,74.43213 188 | 187,31.66057,74.51054 189 | 188,24.93817,67.0425 190 | 189,24.93969,67.1102 191 | 190,31.58639,74.39045 192 | 191,24.94954,67.07239 193 | 192,24.88107,67.13354 194 | 193,25.01271,67.10116 195 | 194,31.58904,74.42627 196 | 195,24.97449,67.05833 197 | 196,31.61899,74.50741 198 | 197,24.92464,67.08586 199 | 198,24.95849,67.08815 200 | 199,31.008775,74.23045 201 | 200,31.52192,74.44831 202 | 201,31.64257,74.38962 203 | 202,24.95081,67.13856 204 | 203,24.97228,67.06665 205 | 204,31.65964,74.42211 206 | 205,31.59794,74.4548 207 | 206,24.94089,67.08974 208 | 207,24.97364,67.03783 209 | 208,24.9387,67.16339 210 | 209,31.54994,74.40894 211 | 210,25.02574,67.16503 212 | 211,24.94078,67.1099 213 | 212,25.01584,67.12389 214 | 213,31.65621,74.42565 215 | 214,24.96439,67.07547 216 | 215,24.88838,67.15244 217 | 216,31.5536,74.51947 218 | 217,31.5953,74.48263 219 | 218,24.9327,67.16304 220 | 219,24.99347,67.1039 221 | 220,24.99972,67.06684 222 | 221,24.96732,67.02065 223 | 222,24.95229,67.10349 224 | 223,24.88704,67.12989 225 | 224,24.94694,67.16385 226 | 225,31.63324,74.46313 227 | 226,31.58633,74.46954 228 | 227,25.00445,67.05406 229 | 228,24.93849,67.06878 230 | 229,24.98039,67.09202 231 | 230,31.60697,74.39151 232 | 231,31.53881,74.39016 233 | 232,25.02249,67.06095 234 | 233,24.91749,67.0691 235 | 234,24.98072,67.17704 236 | 235,31.53083,74.47138 237 | 236,24.87093,67.17377 238 | 237,24.99976,67.1133 239 | 238,24.92096,67.15507 240 | 239,24.98254,67.08095 241 | 240,25.04356,67.09248 242 | 241,25.0077,67.07681 243 | 242,24.93823,67.10946 244 | 243,25.04367,67.14828 245 | 244,31.6471,74.47381 246 | 245,24.98319,67.07588 247 | 246,24.99451,67.07801 248 | 247,24.99749,67.11714 249 | 248,31.62721,74.43323 250 | 249,24.88573,67.09099 251 | 250,31.56658,74.4493 252 | 251,31.63133,74.41746 253 | 252,24.97054,67.10306 254 | 253,31.62428,74.4127 255 | 254,31.58198,74.4548 256 | 255,25.03086,67.07927 257 | 256,31.61165,74.46417 258 | 257,31.56933,74.52825 259 | 258,24.89799,67.16621 260 | 259,24.97945,67.17681 261 | 260,24.99124,67.04445 262 | 261,25.02323,67.08341 263 | 262,24.94026,67.15 264 | 263,24.9989,67.10633 265 | 264,24.90586,67.11554 266 | 265,25.00534,67.05729 267 | 266,24.9204,67.12038 268 | 267,24.92849,67.15985 269 | 268,31.6296,74.46991 270 | 269,25.03838,67.12479 271 | 270,24.9354,67.11504 272 | 271,24.93689,67.11978 273 | 272,31.58903,74.47699 274 | 273,25.00821,67.14333 275 | 274,31.55013,74.5408 276 | 275,25.03499,67.0795 277 | 276,25.03077,67.15255 278 | 277,24.96288,67.16222 279 | 278,24.9255,67.15684 280 | 279,24.93741,67.06277 281 | 280,24.92886,67.11036 282 | 281,24.96156,67.0738 283 | 282,24.9217,67.13582 284 | 283,31.56458,74.43568 285 | 284,24.93117,67.1282 286 | 285,24.95418,67.172 287 | 286,31.61457,74.52845 288 | 287,24.89425,67.18038 289 | 288,31.65049,74.47996 290 | 289,24.93217,67.15536 291 | 290,24.9272,67.1206 292 | 291,24.87881,67.08033 293 | 292,24.93329,67.04681 294 | 293,24.94174,67.05085 295 | 294,31.63952,74.44259 296 | 295,31.61855,74.49633 297 | 296,31.71434,74.46247 298 | 297,31.5965,74.45438 299 | 298,24.95377,67.16457 300 | 299,24.98491,67.16366 301 | 300,31.68863,74.39814 302 | 301,24.93001,67.13943 303 | 302,31.65715,74.40802 304 | 303,24.99034,67.0523 305 | 304,31.61285,74.53198 306 | 305,31.64699,74.44685 307 | 306,31.52238,74.49756 308 | 307,24.93741,67.14711 309 | 308,24.95386,67.13254 310 | 309,24.88895,67.09814 311 | 310,31.61644,74.45316 312 | 311,31.58789,74.43122 313 | 312,31.58217,74.53604 314 | 313,31.62585,74.44452 315 | 314,25.00462,67.12368 316 | 315,31.58731,74.41197 317 | 316,31.70274,74.46134 318 | 317,24.94584,67.15372 319 | 318,31.59811,74.40115 320 | 319,24.94198,67.09419 321 | 320,25.00641,67.064701 322 | 321,31.55128,74.43573 323 | 322,31.55032,74.45848 324 | 323,24.96862,67.11935 325 | 324,24.96192,67.11313 326 | 325,24.92856,67.09014 327 | 326,24.95695,67.13335 328 | 327,25.0423,67.04771 329 | 328,31.56446,74.46976 330 | 329,31.60169,74.49931 331 | 330,31.61989,74.47956 332 | 331,25.03573,67.07261 333 | 332,24.94789,67.09793 334 | 333,31.58895,74.48267 335 | 334,31.56039,74.52483 336 | 335,31.61523,74.52125 337 | 336,24.9665,67.0524 338 | 337,24.91008,67.16828 339 | 338,24.95256,67.08827 340 | 339,31.60479,74.41094 341 | 340,31.68994,74.45335 342 | 341,24.90142,67.08081 343 | 342,31.61497,74.41569 344 | 343,24.96851,67.071 345 | 344,24.89311,67.11365 346 | 345,25.00711,67.15858 347 | 346,31.59379,74.53808 348 | 347,25.01614,67.04939 349 | 348,24.9683,67.1531 350 | 349,31.52825,74.53626 351 | 350,31.60728,74.38811 352 | 351,25.01451,67.06663 353 | 352,25.01883,67.06045 354 | 353,31.61609,74.40652 355 | 354,24.92333,67.10174 356 | 355,31.61596,74.44688 357 | 356,24.97028,67.05679 358 | 357,31.54324,74.4416 359 | 358,24.93737,67.02723 360 | 359,25.01772,67.09588 361 | 360,24.98656,67.10526 362 | 361,31.59826,74.47992 363 | 362,24.87381,67.15029 364 | 363,31.57375,74.47004 365 | 364,31.6164,74.39107 366 | 365,24.98195,67.03049 367 | 366,24.89343,67.12732 368 | 367,24.93958,67.13164 369 | 368,24.96859,67.07577 370 | 369,31.59866,74.40088 371 | 370,25.05097,67.12617 372 | 371,24.86767,67.14069 373 | 372,25.0202,67.04227 374 | 373,31.54417,74.40255 375 | 374,31.62862,74.38567 376 | 375,31.53359,74.46267 377 | 376,31.63446,74.40679 378 | 377,25.00404,67.04452 379 | 378,31.60247,74.41952 380 | 379,31.65548,74.44962 381 | 380,25.03371,67.17729 382 | 381,31.55617,74.45175 383 | 382,25.02294,67.02495 384 | 383,25.05154,67.16214 385 | 384,24.98368,67.08088 386 | 385,24.9826,67.08831 387 | 386,24.95332,67.03577 388 | 387,24.96488,67.12744 389 | 388,31.62777,74.41855 390 | 389,24.95915,67.13133 391 | 390,24.9938,67.14219 392 | 391,25.02981,67.11284 393 | 392,25.00555,67.07038 394 | 393,24.94132,67.07761 395 | 394,24.9683,67.0591 396 | 395,31.62978,74.42082 397 | 396,24.93893,67.15548 398 | 397,24.98052,67.03591 399 | 398,31.52897,74.45894 400 | 399,25.04058,67.04666 401 | 400,31.62532,74.44922 402 | 401,24.93491,67.08531 403 | 402,31.54926,74.48785 404 | 403,24.93865,67.18764 405 | 404,25.0088,67.16156 406 | 405,24.96048,67.15478 407 | 406,31.62325,74.3883 408 | 407,31.59003,74.42606 409 | 408,31.55914,74.44632 410 | 409,25.01935,67.12164 411 | 410,31.65576,74.41384 412 | 411,25.02927,67.16827 413 | 412,24.96059,67.06128 414 | 413,31.64144,74.37737 415 | 414,31.57341,74.45955 416 | 415,31.70046,74.4942 417 | 416,31.64269,74.42456 418 | 417,31.5481,74.49665 419 | 418,24.89151,67.08872 420 | 419,31.58578,74.45879 421 | 420,24.98393,67.17699 422 | 421,24.95734,67.07195 423 | 422,25.04826,67.15145 424 | 423,31.61265,74.40839 425 | 424,25.02859,67.04921 426 | 425,25.01651,67.09975 427 | 426,31.63139,74.50799 428 | 427,25.04164,67.14745 429 | 428,31.67511,74.40613 430 | 429,24.91664,67.18162 431 | 430,24.89531,67.11753 432 | 431,25.02387,67.0492 433 | 432,31.56505,74.49116 434 | 433,31.65854,74.51356 435 | 434,24.91411,67.11993 436 | 435,24.98871,67.09251 437 | 436,31.56591,74.42343 438 | 437,31.56608,74.40144 439 | 438,31.56712,74.48514 440 | 439,31.5613,74.48709 441 | 440,24.96093,67.08747 442 | 441,31.62848,74.41521 443 | 442,31.5906,74.4576 444 | 443,24.91011,67.06272 445 | 444,31.54023,74.41759 446 | 445,24.96593,67.05832 447 | 446,31.6609,74.36449 448 | 447,24.94177,67.03773 449 | 448,31.60133,74.4539 450 | 449,31.66068,74.41987 451 | 450,24.95599,67.03856 452 | 451,24.99645,67.11392 453 | 452,31.01006,74.01412 454 | 453,25.01141,67.10176 455 | 454,31.64713,74.4007 456 | 455,24.89356,67.15723 457 | 456,24.98816,67.08376 458 | 457,31.58355,74.42976 459 | 458,24.96036,67.17436 460 | 459,24.94469,67.05131 461 | 460,31.64478,74.38511 462 | 461,25.01142,67.05076 463 | 462,24.90193,67.13907 464 | 463,24.96515,67.12242 465 | 464,24.95625,67.0859 466 | 465,31.69033,74.43183 467 | 466,24.95556,67.07713 468 | 467,25.04255,67.04528 469 | 468,25.00586,67.05598 470 | 469,24.95392,67.13649 471 | 470,31.62271,74.42758 472 | 471,24.97844,67.10263 473 | 472,24.93785,67.09912 474 | 473,24.96957,67.09566 475 | 474,31.64259,74.3763 476 | 475,31.5526,74.47979 477 | 476,31.6257,74.50546 478 | 477,31.54336,74.41968 479 | 478,31.6239,74.48011 480 | 479,24.95766,67.1185 481 | 480,24.95121,67.08769 482 | 481,25.05141,67.10428 483 | 482,31.63259,74.50648 484 | 483,24.96647,67.12644 485 | 484,25.01964,67.05498 486 | 485,31.60188,74.46 487 | 486,31.67396,74.47592 488 | 487,31.57621,74.47632 489 | 488,31.69456,74.48147 490 | 489,31.53791,74.45681 491 | 490,24.94363,67.12 492 | 491,31.61593,74.41521 493 | 492,24.95818,67.02692 494 | 493,31.60448,74.44042 495 | 494,31.53921,74.53954 496 | 495,31.52543,74.46256 497 | 496,24.99678,67.06727 498 | 497,24.99996,67.14447 499 | 498,31.7066,74.37141 500 | 499,24.87437,67.18926 501 | 500,24.96815,67.01924 502 | 501,24.89607,67.04221 503 | 502,24.99288,67.12871 504 | 503,31.54144,74.39331 505 | 504,24.91646,67.10694 506 | 505,24.87894,67.10249 507 | 506,24.97041,67.12341 508 | 507,25.00356,67.13147 509 | 508,25.00143,67.09388 510 | 509,24.96493,67.06574 511 | 510,24.9933,67.11789 512 | 511,24.92674,67.04497 513 | 512,25.00802,67.16392 514 | 513,31.608,74.40907 515 | 514,31.67159,74.46979 516 | 515,31.61343,74.53079 517 | 516,31.59492,74.46503 518 | 517,24.92168,67.18155 519 | 518,31.57948,74.51341 520 | 519,24.91756,67.0833 521 | 520,31.5989,74.44932 522 | 521,24.94645,67.14961 523 | 522,25.02112,67.02753 524 | 523,31.65105,74.45575 525 | 524,24.92245,67.16605 526 | 525,31.54303,74.51249 527 | 526,25.02793,67.08865 528 | 527,24.9182,67.11192 529 | 528,24.99393,67.0829 530 | 529,31.61652,74.53654 531 | 530,31.52708,74.49915 532 | 531,25.02405,67.14887 533 | 532,24.94566,67.15983 534 | 533,31.56759,74.40629 535 | 534,24.90074,67.14209 536 | 535,31.64307,74.48246 537 | 536,24.8779,67.08923 538 | 537,24.89487,67.17995 539 | 538,31.57335,74.49187 540 | 539,31.62192,74.39134 541 | 540,31.67687,74.42865 542 | 541,31.58275,74.40426 543 | 542,25.04271,67.08674 544 | 543,24.94572,67.09012 545 | 544,31.65718,74.46675 546 | 545,31.65601,74.40212 547 | 546,24.95733,67.06211 548 | 547,31.53649,74.46866 549 | 548,31.54465,74.42087 -------------------------------------------------------------------------------- /data/NGO.csv: -------------------------------------------------------------------------------- 1 | ID,Name,Lat,Long,Capacity,province_id,NGO_ID,Password 2 | 1,Transparent Hands Trust,31.61321,74.43951,8029,1,1234567890111,1234 3 | 2, Edhi Foundation,31.52359,74.38301,1912,1,1234567890112,1234 4 | 3,Shaukat Khanum Cancer Hospital,31.54288,74.4393,8778,1,1234567890113,1234 5 | 4,Chhipa Welfare Association,31.56243,74.3814,4706,1,1234567890114,1234 6 | 5, Aurat Foundation,31.56424,74.38399,9049,1,1234567890115,1234 7 | 6, Shahid Afridi Foundation,24.93394,67.03019,8520,2,1234567890116,1234 8 | 7, Ansar Burney Trust,24.86944,67.06717,1537,2,1234567890117,1234 9 | 8, Darul Sukun ,31.52173,74.39932,9003,1,1234567890118,1234 10 | 9, Minhaj Welfare Foundation,31.52141,74.44105,3765,1,1234567890119,1234 11 | 10, Aga Khan Foundation,24.86272,67.09084,8461,2,1234567890120,1234 12 | 11, AlKhidmat Foundation,24.90966,67.05735,4347,2,1234567890121,1234 13 | 12, EHSAS,24.88115,67.0003614,3245,2,1234567890122,1234 14 | 13, Fatimid Foundation,24.93803,67.07079,8041,2,1234567890123,1234 15 | 14, Fauji Foundation,24.95391,67.07987,9566,2,1234567890124,1234 16 | 15, Khushaal Pakistan,31.61598,74.36367,5092,1,1234567890125,1234 17 | 16, Edhi Foundation,24.94355,67.01439,8138,2,1234567890126,1234 18 | 17,Chhipa Welfare Association,24.92449,67.01437,3138,2,1234567890127,1234 19 | 18, Minhaj Welfare Foundation,24.83272,67.02084,3565,2,1234567890128,1234 20 | 19, Fauji Foundation,31.41598,74.46367,4092,1,1234567890129,1234 -------------------------------------------------------------------------------- /data/Province.csv: -------------------------------------------------------------------------------- 1 | ID,Name 2 | 1,Punjab 3 | 2,Sindh 4 | 3,Balochistan 5 | 4,KPK -------------------------------------------------------------------------------- /docs/css/styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Daniel Krook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ -------------------------------------------------------------------------------- /docs/img/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Call-for-Code/Al-Wasl.Connect/a12c80779db411e19d228488e264a78671ff178d/docs/img/blue.png -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 18 | 19 | 20 | 21 | 22 | 23 | Submission name - Home 24 | 25 | 26 | 27 | 28 | 29 | 30 |

Submission name

31 |

A system for handling key climate change issues

32 | 33 |

Description

34 | 35 |

What's the problem?
36 | Part of the World Health Organization's guidance on limiting further spread of COVID-19 is to practice social distancing. As a result, schools in most affected areas are taking precautionary measures by closing their facilities. With school-aged children at home for an indeterminate amount of time, keeping them engaged, entertained, and on top of their education is important. 37 |

38 | 39 |

How can technology help?
40 | Schools and teachers can continue to engage with their students through virtual classrooms, and even create interactive spaces for classes. As parents face a new situation where they may need to homeschool their children, finding appropriate online resources is important as well. 41 |

42 | 43 |

The idea 44 | It's imperative that learning and creating can continue when educational institutions have to shift the way they teach in times of crises, such as the COVID-19 pandemic. Providing a set of open source tools, backed by IBM Cloud and Watson Services, will enable educators to more easily make content available for their students. 45 |

46 | 47 |

Source code repo

48 |

Lorem ipsum

49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /docs/js/scripts.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Daniel Krook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ -------------------------------------------------------------------------------- /logo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Call-for-Code/Al-Wasl.Connect/a12c80779db411e19d228488e264a78671ff178d/logo1.png -------------------------------------------------------------------------------- /roadmap2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Call-for-Code/Al-Wasl.Connect/a12c80779db411e19d228488e264a78671ff178d/roadmap2.png -------------------------------------------------------------------------------- /sample-file.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Daniel Krook 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | function amaze() { 18 | // amazing 19 | } 20 | 21 | const http = require('http'); 22 | 23 | const hostname = '127.0.0.1'; 24 | const port = 3000; 25 | 26 | const server = http.createServer((req, res) => { 27 | res.statusCode = 200; 28 | res.setHeader('Content-Type', 'text/plain'); 29 | res.end('Thanks for looking at Code-and-Response!'); 30 | }); 31 | 32 | server.listen(port, hostname, () => { 33 | console.log(`Example Server running at http://${hostname}:${port}/`); 34 | }); 35 | -------------------------------------------------------------------------------- /toolchain1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Call-for-Code/Al-Wasl.Connect/a12c80779db411e19d228488e264a78671ff178d/toolchain1.png --------------------------------------------------------------------------------