From 8ee7a278b52fe48d3be50d320519d35c51c00776 Mon Sep 17 00:00:00 2001 From: Neelima Mohanty <97789856+neelimagoogly@users.noreply.github.com> Date: Fri, 7 Jul 2023 12:45:06 +0530 Subject: [PATCH 1/7] Created FAQ.md --- docs/FAQ.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 docs/FAQ.md diff --git a/docs/FAQ.md b/docs/FAQ.md new file mode 100644 index 00000000..c9ba4e31 --- /dev/null +++ b/docs/FAQ.md @@ -0,0 +1,74 @@ +# Frequently Asked Questions (FAQs) + +## Users +**Q : What is fAIr?** + +A : fAIr is an open-source toolkit developed by the Humanitarian OpenStreetMap Team (HOT) that enables the integration of artificial intelligence (AI) into humanitarian mapping workflows. It provides AI models and tools to automate mapping tasks, improving efficiency and accuracy. + +
+ +**Q : How can I use fAIr in my mapping projects?** + +A : To use fAIr, you can follow the installation instructions provided in the documentation. Once installed, you can utilize the pre-trained AI models for tasks such as road network extraction, building footprint detection, or land use classification. The documentation offers examples and guidelines to help you get started. + +
+ +**Q : What types of data can I use with fAIr?** + +A : fAIr primarily works with satellite imagery and aerial photographs. You can use various types of imagery sources, including public satellite imagery datasets, to perform mapping tasks using the AI models provided. The documentation provides information on the compatible data formats and recommended data sources. + +
+ +**Q : Can I customize the AI models in fAIr for my specific needs?** + +A : Yes, fAIr is designed to be customizable. The toolkit provides instructions and guidelines on how to train and fine-tune models with your own datasets. This allows you to adapt the models to suit your specific mapping requirements and improve their performance on your target areas or features of interest. + +
+ +**Q : Are there any limitations to using fAIr?** + +A : While fAIr offers powerful AI models, it's important to note that the accuracy of the results may vary depending on the quality and resolution of the input imagery and the complexity of the mapping task. Some tasks may require additional manual editing or validation. It's recommended to review the documentation and understand the limitations of each model before use. + +
+ +**Q : How can I contribute feedback or report issues with fAIr?** + +A : You can contribute to the improvement of fAIr by providing feedback, reporting issues, or suggesting new features through the project's GitHub repository. By creating an issue, you can share your observations or difficulties faced while using fAIr, allowing the developers to address them and enhance the toolkit. + +
+ +**Q : Can I integrate fAIr with other mapping tools or platforms?** + +A : Yes, fAIr is designed to be modular and can be integrated into existing mapping workflows and platforms. It provides interoperability with tools like OpenStreetMap, QGIS, and ArcGIS. You can leverage the AI models from fAIr within these tools or use the outputs of fAIr in combination with other mapping datasets and tools. + +
+ +## Developers + +**Q : How can I contribute to the development of fAIr?** + +A : You can contribute to fAIr's development by following the guidelines provided in the project's GitHub repository. You can contribute code, suggest new features, or help improve documentation. By submitting pull requests, you can propose changes and collaborate with the project maintainers and the community. + +
+ +**Q : What programming languages and frameworks are used in fAIr?** + +A : fAIr frontend is made with React and backend with Django.fAIr is primarily developed using Python, which is widely used in machine learning and AI. It leverages popular frameworks such as PyTorch and TensorFlow for model development and training. Familiarity with Python and these frameworks will be beneficial if you plan to work on fAIr's development. + +
+ +**Q : Are there any specific coding standards or guidelines for contributing to fAIr?** + +A : Yes, fAIr follows coding standards and guidelines outlined in the project's repository. These guidelines cover aspects such as code formatting, documentation, and testing. Adhering to these standards helps maintain code consistency and facilitates collaboration among contributors. + +
+ +**Q : Can I propose new AI models or enhancements to existing models?** + +A : Absolutely! The fAIr project welcomes contributions related to new AI models or enhancements to existing models. If you have developed a new model that aligns with the project's goals or if you have ideas to improve the current models, you can propose them through the GitHub repository and engage in discussions with the community or you can create them at [here](https://fair-dev.hotosm.org/ai-models) . + +
+ +**Q : What kind of support can I expect as a developer contributing to fAIr?** + +A : As a developer contributing to fAIr, you can receive support and guidance from the project maintainers and the community. The maintainers can help address technical questions, review your contributions, and provide feedback. The community also offers a collaborative environment where you can interact with other contributors and share knowledge. From 7643a09d50ed404c7372e1a658c4e1221483264a Mon Sep 17 00:00:00 2001 From: Neelima Mohanty <97789856+neelimagoogly@users.noreply.github.com> Date: Fri, 7 Jul 2023 13:44:34 +0530 Subject: [PATCH 2/7] Update FAQ.md --- docs/FAQ.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/FAQ.md b/docs/FAQ.md index c9ba4e31..1eb3c407 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -9,13 +9,13 @@ A : fAIr is an open-source toolkit developed by the Humanitarian OpenStreetMap T **Q : How can I use fAIr in my mapping projects?** -A : To use fAIr, you can follow the installation instructions provided in the documentation. Once installed, you can utilize the pre-trained AI models for tasks such as road network extraction, building footprint detection, or land use classification. The documentation offers examples and guidelines to help you get started. +A : Building for now but to use fAIr, you can follow the installation instructions provided in the documentation. Once installed, you can utilize the pre-trained AI models for tasks such as road network extraction, building footprint detection, or land use classification. The documentation offers examples and guidelines to help you get started.
**Q : What types of data can I use with fAIr?** -A : fAIr primarily works with satellite imagery and aerial photographs. You can use various types of imagery sources, including public satellite imagery datasets, to perform mapping tasks using the AI models provided. The documentation provides information on the compatible data formats and recommended data sources. +A : fAIr primarily works with satellite imagery and aerial photographs. You can use various types of imagery sources which compiles with opensource imagery license to perform mapping tasks using the AI models provided. The documentation provides information on the compatible data formats and recommended data sources.
@@ -39,7 +39,7 @@ A : You can contribute to the improvement of fAIr by providing feedback, reporti **Q : Can I integrate fAIr with other mapping tools or platforms?** -A : Yes, fAIr is designed to be modular and can be integrated into existing mapping workflows and platforms. It provides interoperability with tools like OpenStreetMap, QGIS, and ArcGIS. You can leverage the AI models from fAIr within these tools or use the outputs of fAIr in combination with other mapping datasets and tools. +A : Yes, fAIr is designed to be modular and can be integrated into existing mapping workflows and platforms. It provides modular pip packages/ API endpoints that can be used in other scripts and can be integrated as plugins on different platforms such as Qgis, Josm etc. You can leverage the AI models from fAIr within these tools or use the outputs of fAIr in combination with other mapping datasets and tools.
@@ -53,7 +53,7 @@ A : You can contribute to fAIr's development by following the guidelines provide **Q : What programming languages and frameworks are used in fAIr?** -A : fAIr frontend is made with React and backend with Django.fAIr is primarily developed using Python, which is widely used in machine learning and AI. It leverages popular frameworks such as PyTorch and TensorFlow for model development and training. Familiarity with Python and these frameworks will be beneficial if you plan to work on fAIr's development. +A : fAIr frontend is made with React and backend with Django.fAIr is primarily developed using Python, which is widely used in machine learning and AI. It leverages popular framework TensorFlow for model development and training. Familiarity with Python and these frameworks will be beneficial if you plan to work on fAIr's development.
@@ -65,7 +65,7 @@ A : Yes, fAIr follows coding standards and guidelines outlined in the project's **Q : Can I propose new AI models or enhancements to existing models?** -A : Absolutely! The fAIr project welcomes contributions related to new AI models or enhancements to existing models. If you have developed a new model that aligns with the project's goals or if you have ideas to improve the current models, you can propose them through the GitHub repository and engage in discussions with the community or you can create them at [here](https://fair-dev.hotosm.org/ai-models) . +A : Absolutely! The fAIr project welcomes contributions related to new AI models or enhancements to existing models. If you have developed a new model that aligns with the project's goals or if you have ideas to improve the current models, you can propose them through the GitHub repository and engage in discussions with the community . Once approved community will be able go use it .
From 7f8bc8d5d197b46b31beb88a625cc7ed84920ec3 Mon Sep 17 00:00:00 2001 From: Neelima Mohanty <97789856+neelimagoogly@users.noreply.github.com> Date: Fri, 14 Jul 2023 19:18:16 +0530 Subject: [PATCH 3/7] Updated FAQ.md --- docs/FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FAQ.md b/docs/FAQ.md index 1eb3c407..e4bfea66 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -65,7 +65,7 @@ A : Yes, fAIr follows coding standards and guidelines outlined in the project's **Q : Can I propose new AI models or enhancements to existing models?** -A : Absolutely! The fAIr project welcomes contributions related to new AI models or enhancements to existing models. If you have developed a new model that aligns with the project's goals or if you have ideas to improve the current models, you can propose them through the GitHub repository and engage in discussions with the community . Once approved community will be able go use it . +A : Absolutely! The fAIr project welcomes contributions related to new AI models or enhancements to existing models. If you have developed a new model that aligns with the project's goals or if you have ideas to improve the current models, you can propose them through the GitHub repository at [fAIr-utilities](https://github.com/hotosm/fAIr-utilities) and engage in discussions with the community . Once approved community will be able go use it .
From be04d27b8b6d92ab471e285070cc4f055b0a387f Mon Sep 17 00:00:00 2001 From: Neelima Mohanty <97789856+neelimagoogly@users.noreply.github.com> Date: Mon, 17 Jul 2023 18:11:39 +0530 Subject: [PATCH 4/7] Create Contribution.md --- docs/Contribution.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 docs/Contribution.md diff --git a/docs/Contribution.md b/docs/Contribution.md new file mode 100644 index 00000000..147d4d73 --- /dev/null +++ b/docs/Contribution.md @@ -0,0 +1,29 @@ +## :hugs: Welcome + +:+1::tada: First off, we are really glad you're reading this, because we need volunteer developers to help improve the fAIr! :tada::+1: + +We welcome and encourage contributors of all skill levels and we are committed to making sure your participation is inclusive, enjoyable and rewarding. If you have never contributed to an open source project before, we are a good place to start and will make sure you are supported every step of the way. If you have **any** questions, please ask! + +There are many ways to contribute to this repo: + +## Testing + +Adding test cases, or simply testing out existing functionality. + +## Report bugs and suggest improvements + +The [issue queue](https://github.com/hotosm/fAIr/issues) is the best way to get started. There are issue templates for BUGs and FEATURES that you can use, or you can create your own. Once you have submitted an issue, it will be assigned one label out of the following [label categories](https://github.com/hotosm/fAIr/labels). If you are wondering where to start, you can filter by the GoodFirstIssue label. + +## Code contributions + +Fork repo , Maintain your local changes on branch and Create pull requests (PRs) for changes that you think are needed. We would really appreciate your help! + +## Documentation contributions + +Create pull requests (PRs) for changes that you think are needed to the documentation of fAIr.As of now you can find the documentation work at the [docs](https://github.com/hotosm/fAIr/tree/master/docs) directory. + + +## :handshake: Thank you + +Thank you very much in advance for your contributions!! Please ensure you refer to our [Code of Conduct](https://github.com/hotosm/fAIr/blob/master/docs/Code-of-Conduct.md). +If you've read the guidelines, but you are still not sure how to contribute on Github, please reach out to us via our Slack #geospatial-tech-and-innovation. From a87af6b5e0f3c3bd7aadc98a6d955b10ea60edd6 Mon Sep 17 00:00:00 2001 From: Neelima Mohanty <97789856+neelimagoogly@users.noreply.github.com> Date: Mon, 17 Jul 2023 18:12:30 +0530 Subject: [PATCH 5/7] Update README.md --- frontend/README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/README.md b/frontend/README.md index b49e3bab..e03099e9 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,3 +1,5 @@ +# Frontend Deployment for Development + ![example workflow](https://github.com/omranlm/TDB/actions/workflows/frontend_build.yml/badge.svg) ## Getting Started @@ -11,10 +13,10 @@ This project is tested with Node v14.17.3 and Node v16.14.2 ### Create .env file inside root dir -Put your credentials inside .env by following .env [sample](https://github.com/omranlm/TDB/blob/main/frontend/.env%20sample) +Put your credentials inside .env by following .env [sample](https://github.com/omranlm/TDB/blob/main/frontend/.env%20sample) . ### Start development server `npm start` -#### Note : Build and Run Backend First before building frontend +#### Note : Build and Run Backend first by following [this](https://github.com/hotosm/fAIr/blob/master/backend/README.md) before building frontend . From 35ef1e2fb1223bb6789480dd8660de9e3af7beff Mon Sep 17 00:00:00 2001 From: kshitijrajsharma Date: Thu, 27 Jul 2023 12:12:58 +0545 Subject: [PATCH 6/7] Added fix for Docker file to see logs and installation doc --- Readme.md | 3 +-- backend/Dockerfile | 2 +- docker-compose.yml | 20 ++++++++++++-------- docs/Docker-installation.md | 16 +++++++++------- 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/Readme.md b/Readme.md index b47904f7..9a557b1c 100644 --- a/Readme.md +++ b/Readme.md @@ -28,5 +28,4 @@ See below a suggested product roadmap [subject to change] that provides high-lev ## Local Installation [DEV] -Checkout Docker Installation [docs](./docs/Docker-installation.md)## Local Installation [DEV] - +Checkout Docker Installation [docs](./docs/Docker-installation.md) diff --git a/backend/Dockerfile b/backend/Dockerfile index c8f1cbbb..b7e40872 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -28,6 +28,6 @@ RUN pip install setuptools --upgrade COPY requirements.txt requirements.txt RUN pip install -r requirements.txt -RUN mkdir /app + WORKDIR /app COPY . /app \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 0080def3..65817a0a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3.8' +version: "3.8" services: postgres: @@ -10,8 +10,8 @@ services: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=admin ports: - - '5434:5432' - + - "5434:5432" + redis: image: redis container_name: redis @@ -20,7 +20,7 @@ services: backend-api: build: - context: ./backend + context: ./backend dockerfile: Dockerfile container_name: api command: python manage.py runserver 0.0.0.0:8000 @@ -33,6 +33,7 @@ services: ports: - 8000:8000 volumes: + - ./backend:/app - ${RAMP_HOME}:/RAMP_HOME - ${TRAINING_WORKSPACE}:/TRAINING_WORKSPACE depends_on: @@ -41,7 +42,7 @@ services: backend-worker: build: - context: ./backend + context: ./backend dockerfile: Dockerfile container_name: worker command: celery -A aiproject worker --loglevel=INFO @@ -52,6 +53,7 @@ services: - driver: nvidia capabilities: [gpu] volumes: + - ./backend:/app - ${RAMP_HOME}:/RAMP_HOME - ${TRAINING_WORKSPACE}:/TRAINING_WORKSPACE depends_on: @@ -72,11 +74,13 @@ services: frontend: build: - context: ./frontend + context: ./frontend dockerfile: Dockerfile.frontend container_name: frontend command: npm start -- --host 0.0.0.0 --port 3000 ports: - - 3000:3000 + - 3000:3000 depends_on: - - backend-api \ No newline at end of file + - backend-api + volumes: + - ./frontend:/app diff --git a/docs/Docker-installation.md b/docs/Docker-installation.md index 239c945f..7fdd8d01 100644 --- a/docs/Docker-installation.md +++ b/docs/Docker-installation.md @@ -56,6 +56,13 @@ Docker Compose is created with redis , worker , postgis database , api and fron ``` eg : export RAMP_HOME=/home/kshitij/ramp + - Export ```TRAINING_WORKSPACE``` Env + Training workspace is the folder where fAIr will store its training files + for eg : + ``` + export TRAINING_WORKSPACE=/home/kshitij/hotosm/fAIr/trainings + ``` + 5. Register your Local setup to OSM - Go to [OpenStreetMap](https://www.openstreetmap.org/) , Login/Create Account @@ -73,12 +80,7 @@ Docker Compose is created with redis , worker , postgis database , api and fron - Fill out the details of ```OSM_CLIENT_ID``` &```OSM_CLIENT_SECRET``` in .env file and generate a unique key & paste it to ```OSM_SECRET_KEY``` (It can be random for dev setup) Leave rest of the items as it is unless you know what you are doing - - Export ```TRAINING_WORKSPACE``` Env - Training workspace is the folder where fAIr will store its training files - for eg : - ``` - export TRAINING_WORKSPACE=/home/kshitij/hotosm/fAIr/trainings - ``` + - Create ```.env``` in /frontend ``` cp .env_sample .env @@ -110,7 +112,7 @@ Docker Compose is created with redis , worker , postgis database , api and fron python manage.py makemigrations python manage.py makemigrations login - python manage.py makemigrations login + python manage.py makemigrations core python manage.py migrate 9. Play and Develop From 05315f1a7a5da6c817b83600273819d474f736cb Mon Sep 17 00:00:00 2001 From: Kshitij Raj Sharma <36752999+kshitijrajsharma@users.noreply.github.com> Date: Thu, 27 Jul 2023 12:36:10 +0545 Subject: [PATCH 7/7] Update docker-compose.yml --- docker-compose.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 65817a0a..263647eb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -82,5 +82,3 @@ services: - 3000:3000 depends_on: - backend-api - volumes: - - ./frontend:/app