Skip to content

Commit

Permalink
Merge pull request #118 from seabilwe/main
Browse files Browse the repository at this point in the history
Documentation review (grammar and spell checks)
  • Loading branch information
seabilwe authored Nov 4, 2024
2 parents 03f7a0d + df647e2 commit 6b005a2
Show file tree
Hide file tree
Showing 9 changed files with 49 additions and 49 deletions.
2 changes: 1 addition & 1 deletion docs/src/administrator/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ license: the reforestation tool is made available to Global Evergreening Global
# For administrators
<!-- To Be Populated -->

This is the homepage for all administrator related documentation.
This is the homepage for all administrator-related documentation.

The content is divided into two sections:

Expand Down
26 changes: 13 additions & 13 deletions docs/src/developer/documentation/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,27 +19,27 @@ This section provides an overview of how the documentation system works.

Welcome to the instructions for those wishing to contribute to our documentation!

Our documentation system is based on the popular [mkdocs](https://www.mkdocs.org/) system. We encourage you to read the upstream documentation from mkdocs for the finer details of how mkdocs. In particular, read [this page](https://www.mkdocs.org/user-guide/writing-your-docs/) before you get to work. Mkdocs is not hard, but it may feel initially a little different if you are used to creating your documentation in word.
Our documentation system is based on the popular [mkdocs](https://www.mkdocs.org/) system. We encourage you to read the upstream documentation from mkdocs for the finer details of how mkdocs. In particular, read [this page](https://www.mkdocs.org/user-guide/writing-your-docs/) before you get to work. Mkdocs is not hard, but it may feel initially a little different if you are used to creating your documentation in MSWord.

We use mkdocs because it has some great and useful features. Most especially:

* The code and the documentation are versioned together. This means that for whatever version of the code we have in our production release, we can be sure the documentation matches that release. We can also look back at changes over time through the version history when needed.
* It can render beautiful static (not needing a backend server) web sites with great features like search, styling, intuitive navigation etc.
* It can render beautiful static (not needing a backend server) websites with great features like search, styling, intuitive navigation etc.
* It can optionally render PDF documents from the same source markdown.
* An ecosystem of plugins and themes makes mkdocs really flexible and extensible.
* An ecosystem of plugins and themes makes mkdocs flexible and extensible.

### Some terminology

In our documentation, we have organised the information using a specific nomenclature:

* **guide**: A guide is a multi-step workflow / tutorial that leads your through common activities.
* **guide**: A guide is a multi-step workflow/tutorial that leads you through common activities.
* **manual**: A collection of documents that describe each part of the project in a matter of fact way without presupposing any specific workflow is being undertaken.

For each of the main topic areas (user, admin, developer, devops, api user) we provide guides and manuals as is appropriate.

### Organisation

The documentation is broadly organised in the following structure. This structure may change over time as sections are added / moved / removed:
The documentation is broadly organised in the following structure. This structure may change over time as sections are added/moved/removed:

```
src
Expand All @@ -65,12 +65,12 @@ src

Please follow these conventions when writing your documentation:

1. Write file names in all lower case, with hyphens separating words (no spaces). e.g. ``important-file.md`` not ``Important File.md`` or other deviations.
1. Write file names in all lowercase, with hyphens separating words (no spaces). e.g. ``important-file.md`` not ``Important File.md`` or other deviations.
2. Place the image files in the img folder adjacent to your content.
3. Do not abbreviate any words in file names - but try to use terse, descriptive names.
4. Place your content into the appropriate place as outline in the structure above.
5. Each file should only one level one heading e.g. ``# Page title``
6. Headings and subheadings should be written as a terse phrase starting with a capital letter and subsequent words in lower case unless they are proper nouns. Do not place a colon after the heading.
4. Place your content into the appropriate place as outlined in the structure above.
5. Each file should have only one level one heading e.g. ``# Page title``
6. Headings and subheadings should be written as a terse phrase starting with a capital letter and subsequent words in lowercase unless they are proper nouns. Do not place a colon after the heading.
7. Use unicode number markers to reference numbers in images e.g. 1️⃣
8. Every heading / sub-heading should have a single line underneath it summarising the content that will follow. This sentence will be used in the help center in the application to give the user a reference point for the text that will follow. It also makes the help text more consistent and readable.
9. For every section that images, the first image will be used as the thumbnail if the heading is referenced from the application.
Expand Down Expand Up @@ -114,7 +114,7 @@ Once you have committed your changes, 1️⃣ Click on the burger menu and then
Your fork of the repository will be opened in a new tab within your browser, navigate to that tab. Once there 1️⃣ ensure you are on the `main`, you should see how many commits ahead of the upstream branch you are, then 2️⃣ click on `Contribute`-> `Open pull request`.
![Pull Request 1](img/pull-request-1.png)

On the next screen, 1️⃣ give your pull request a meaningful title, 2️⃣ give additional details regarding changes made in the larger text box, then 3️⃣️ click on `Create pull request`. Also ensure you are creating a pull request to the upstream `main` branch from your `main` branch.
On the next screen, 1️⃣ give your pull request a meaningful title, 2️⃣ give additional details regarding changes made in the larger text box, then 3️⃣️ click on `Create pull request`. Also, ensure you are creating a pull request to the upstream `main` branch from your `main` branch.
![Pull Request 2](img/pull-request-2.png)

Once your pull request is opened you need to wait for it to be merged before you can open a new one.
Expand All @@ -141,7 +141,7 @@ license: This program is free software; you can redistribute it and/or modify it

The summary can be updated to include your name for documents you contribute to.

The context_id is used to create a unique permalink to this document, and is optional. See further down in this document for more details.
The context_id is used to create a unique permalink to this document and is optional. See further down in this document for more details.

### Navigation

Expand All @@ -150,7 +150,7 @@ All pages need to be added to the 'Nav' section of the `mkdocs-base.yml` file. T

`- "Navigating the map": users/guide/map-navigation.md`

Sometimes you may not wish to have the new page displayed in the menu system (this can be useful when, for example, it is accessed via a link in another page. In these cases, leave the menu entry part blank e.g.
Sometimes you may not wish to have the new page displayed in the menu system (this can be useful when, for example, it is accessed via a link on another page. In these cases, leave the menu entry part blank e.g.

`- "": users/guide/map-navigation.md`

Expand Down Expand Up @@ -197,7 +197,7 @@ Every page should have a help link on it that leads to the appropriate manual pa
3. In the metadata section at the top of the page, add the context id e.g. ``context_id: V4cVEFd2TmwYJVb5HvWRwa``
4. In your django view, set up your help button to point to the site url and your context id. e.g. ``https://siteurl/V4cVEFd2TmwYJVb5HvWRwa``

Whenever the user visits the page using the UUID URL, they will be redirected to the correct page e.g. ``https://siteurl/login/``. This system protects us from file renaming and reorganising on the site, and ensures that the help link will always remain valid.
Whenever the user visits the page using the UUID URL, they will be redirected to the correct page e.g. ``https://siteurl/login/``. This system protects us from file renaming and reorganising on the site and ensures that the help link will always remain valid.


### Generating PDFS
Expand Down
12 changes: 6 additions & 6 deletions docs/src/developer/guide/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ license: the reforestation tool is made available to Global Evergreening Global

# System architecture

In this section, we outline the system architecture using ER Diagrams, Software Component Diagrams etc. and key libraries / frameworks used in this project.
In this section, we outline the system architecture using ER Diagrams, Software Component Diagrams etc. and key libraries/frameworks used in this project.

## Software components used
<!-- These are generic. Customise as needed per project -->
Expand All @@ -24,27 +24,27 @@ The following is a list, with brief descriptions, of the key components used in
|![File:React-icon.svg - Wikimedia Commons](https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/React-icon.svg/2300px-React-icon.svg.png){: style="height:30px;width:30px"}| [ReactJS](https://react.dev/) | React lets you build user interfaces out of individual pieces called components. Create your own React components like `Thumbnail`, `LikeButton`, and `Video`. Then combine them into entire screens, pages, and apps.|
| ![](img/architecture-material-ui.svg){: style="height:30px;width:30px"} | [MUI](https://mui.com/)| Move faster with intuitive React UI tools. MUI offers a comprehensive suite of free UI tools to help you ship new features faster. Start with Material UI, our fully-loaded component library, or bring your own design system to our production-ready components. |
| ![](img/architecture-docker.svg){: style="height:30px;width:30px"} | [Docker](https://docker.com) | Accelerate how you build, share, and run applications. Docker helps developers build, share, and run applications anywhere — without tedious environment configuration or management. |
| ![](img/architecture-celery.svg){: style="height:30px;width:30px"} | [Celery](https://docs.celeryq.dev) | Celery is a simple, flexible, and reliable distributed system to process vast amounts of messages, while providing operations with the tools required to maintain such a system. It’s a task queue with focus on real-time processing, while also supporting task scheduling. |
| ![](img/architecture-celery.svg){: style="height:30px;width:30px"} | [Celery](https://docs.celeryq.dev) | Celery is a simple, flexible, and reliable distributed system to process vast amounts of messages while providing operations with the tools required to maintain such a system. It’s a task queue with a focus on real-time processing, while also supporting task scheduling. |
| ![](img/architecture-celery.svg){: style="height:30px;width:30px"} | [Celery Beat](https://github.com/celery/django-celery-beat) | This extension enables you to store the periodic task schedule in your database. The periodic tasks can be managed from the Django Admin interface, where you can create, edit and delete periodic tasks and how often they should run. |
| ![](img/architecture-drf.png){: style="height:30px;width:30px"} | [Django Rest Framework](https://www.django-rest-framework.org/) | Django REST framework is a powerful and flexible toolkit for building Web APIs. |
| ![](img/architecture-maplibre-logo.svg){: style="height:30px;width:30px"} | [MapLibre](https://maplibre.org/) | Open-source mapping libraries for web and mobile app developers. |
| ![](img/architecture-deckgl.png){: style="height:30px;width:30px"} | []() | deck.gl is a WebGL-powered framework for visual exploratory data analysis of large datasets. |
| ![](img/architecture-postgis.svg){: style="height:30px;width:30px"} | [PostGIS](https://postgis.net/) | PostGIS extends the capabilities of the PostgreSQL relational database by adding support storing, indexing and querying geographic data. |
| ![](img/architecture-postgresql.png){: style="height:30px;width:30px"} | [PostgreSQL](https://www.postgresql.org/) | PostgreSQL is a powerful, open source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. |
| ![](img/architecture-postgresql.png){: style="height:30px;width:30px"} | [PostgreSQL](https://www.postgresql.org/) | PostgreSQL is a powerful, open-source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. |
| ![](img/architecture-tegola.png){: style="height:30px;width:30px"} | [Tegola](https://tegola.io/) | An open source vector tile server written in Go, Tegola takes geospatial data and slices it into vector tiles that can be efficiently delivered to any client. |
| ![](img/architecture-gdal.png){: style="height:30px;width:30px"} | [GDAL](https://gdal.org) | GDAL is a translator library for raster and vector geospatial data formats that is released under an MIT style Open Source License by the Open Source Geospatial Foundation. As a library, it presents a single raster abstract data model and single vector abstract data model to the calling application for all supported formats. It also comes with a variety of useful command line utilities for data translation and processing. |
| ![](img/architecture-gdal.png){: style="height:30px;width:30px"} | [GDAL](https://gdal.org) | GDAL is a translator library for raster and vector geospatial data formats that is released under an MIT style Open Source License by the Open Source Geospatial Foundation. As a library, it presents a single raster abstract data model and a single vector abstract data model to the calling application for all supported formats. It also comes with a variety of useful command line utilities for data translation and processing. |

## Docker components

The following diagram represents the docker containers, ports and volumes that are used to compose this platform.
<!-- To be generate per project -->
<!-- To be generated per project -->

![Architecture Docker Diagram]()

## ER diagram
<!-- To be generated per project -->

The following diagram represents all of the database entities that are created by the Django ORM (Object Relational Mapper). Right click the image and open it in its own tab to see it at full resolution.
The following diagram represents all of the database entities that are created by the Django ORM (Object Relational Mapper). Right-click the image and open it in its own tab to see it at full resolution.

<!-- Either add an image or add a link -->
![Architecture ERD]()
Expand Down
8 changes: 4 additions & 4 deletions docs/src/developer/guide/building.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,17 @@ This section covers the process of building and running the application from you

🚩 Make sure you have gone through the [IDE Setup Process](ide-setup.md) before following these notes.

Press `Ctrl -> P` 1️⃣ and then `>`and search for `Rebuild`. Select `Dev Containers: Rebuild and Reopen in Container`2️⃣. This will essentially mount your code tree inside a docker container and switch the development context of VSCode to be inside the container where all of the python etc. dependencies will be installed.
Press `Ctrl -> P` 1️⃣ and then `>` and search for `Rebuild`. Select `Dev Containers: Rebuild and Reopen in Container`2️⃣. This will essentially mount your code tree inside a docker container and switch the development context of VSCode to be inside the container where all of the python etc. dependencies will be installed.

![image.png](img/building-1.png)

Once the task is running, a notification 1️⃣ will be shown in the bottom right of the VSCode window. Clicking in the notification will show you the setup progress 2️⃣. Note that this make take quite a while depending on the internet bandwidth you have and the CPU power of your machine.
Once the task is running, a notification 1️⃣ will be shown in the bottom right of the VSCode window. Clicking on the notification will show you the setup progress 2️⃣. Note that this may take quite a while depending on the internet bandwidth you have and the CPU power of your machine.

![image.png](img/building-2.png)

## Open a dev container terminal

Open terminal within the dev container context by clicking the `+`icon in the terminal pane 1️⃣. The new terminal 2️⃣ will show up in the list of running terminals 3️⃣
Open the terminal within the dev container context by clicking the `+`icon in the terminal pane 1️⃣. The new terminal 2️⃣ will show up in the list of running terminals 3️⃣

![image.png](img/building-3.png)

Expand All @@ -52,7 +52,7 @@ cd /home/web/project/django_project
python manage.py createsuperuser
```

During this process you will be prompted for your user name (defaults to root), email address and a password (which you need to confirm). Complete these as needed.
During this process, you will be prompted for your user name (defaults to root), email address and a password (which you need to confirm). Complete these as needed.


## Viewing your test instance
Expand Down
10 changes: 5 additions & 5 deletions docs/src/developer/guide/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ password : admin

## Set up different environment

To set up different environment, for example the Default credential, or the port of server, open **deployment/.env**.
You can check the description below for each of variable.
To set up a different environment, for example, the Default credential, or the port of server, open **deployment/.env**.
You can check the description below for each variable.

```
COMPOSE_PROJECT_NAME=[PROJECT_NAME]
Expand All @@ -56,7 +56,7 @@ DJANGO_TAG=0.0.1 -> Change this for different django image
DJANGO_DEV_TAG=0.0.1 -> Change this for different django dev image
# Environments
DJANGO_SETTINGS_MODULE=core.settings.prod -> Change this to use different django config file
DJANGO_SETTINGS_MODULE=core.settings.prod -> Change this to use a different django config file
ADMIN_USERNAME=admin -> Default admin username
ADMIN_PASSWORD=admin -> Default admin password
[email protected] -> Default admin email
Expand All @@ -67,12 +67,12 @@ HTTP_PORT=80 -> Change the port of nginx
DATABASE_NAME=django -> Default database name
DATABASE_USERNAME=docker -> Default database username
DATABASE_PASSWORD=docker -> Default database password
DATABASE_HOST=db -> Default database host. Change this if you use cloud database or any new docker container.
DATABASE_HOST=db -> Default database host. Change this if you use a cloud database or any new docker container.
RABBITMQ_HOST=rabbitmq
# Onedrive
PUID=1000
PGID=1000
```

After you change the desired variable and do `make up`. It will rerun the project with new environment.
After you change the desired variable, run `make up`. This will restart the project with the updated environment.
Loading

0 comments on commit 6b005a2

Please sign in to comment.