-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
26 changed files
with
592 additions
and
88 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
_workflows/* | ||
_actions/* | ||
_* | ||
icons.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Technology stack and platform | ||
## Modern and robust technology stack | ||
|
||
Our open-source software is crafted with a modern technology stack, designed for high performance, flexibility, and ease of contribution. We've thoughtfully selected technology stack that emphasizes scalability, security, and strong community support. | ||
|
||
Our backend is powered by Python Django, providing a reliable and scalable foundation where both RESTful and Graph APIs are implemented for fast and easy data exchange and integrations with other parts of the HOPE ecosystem. | ||
|
||
The frontend is built using React and HTML5 to create a responsive, dynamic user interface that delivers a seamless experience. The Database is PostgreSQL which provides efficient and reliable data storage. | ||
|
||
The code is packaged using Docker so it can be shipped and reusable. We use Kubernetes and Helm charts for deployments to any environment. | ||
|
||
We use GitHub for managing code and version control, along with the GitHub Actions for build pipelines for efficient and automated workflows. | ||
|
||
Transparency and collaboration are at the core of our approach. Our entire tech stack is open-source and documented, making it easy for anyone to understand and deploy HOPE. Our mission is to build and foster an inclusive community where developers of all skill levels can contribute. Our technology stack embodies our commitment to building a product that is both innovative and accessible to the open-source community |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
nav: | ||
- ... | ||
- Dependencies: dependencies.md | ||
- Docker: docker.md |
File renamed without changes.
File renamed without changes.
This file was deleted.
Oops, something went wrong.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,14 @@ | ||
nav: | ||
- ... | ||
- index.md | ||
- setup.md | ||
- pr.md | ||
- lint.md | ||
# | ||
#arrange: | ||
# - index.md | ||
# - setup.md | ||
|
||
collapse: true | ||
|
||
toc: | ||
baselevel: 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
--- | ||
title: Development Guide | ||
--- | ||
# Development Guide | ||
|
||
## Setup development environment | ||
|
||
|
||
### Prerequisites | ||
|
||
- This project uses PDM as package manager (see https://github.com/pdm-project/pdm). | ||
- A Postgres DB v15+ | ||
- A Redis server | ||
- An Elastic Search server | ||
|
||
|
||
## Technology Stack | ||
|
||
- Python | ||
- Postgres | ||
- Redis | ||
- ElasticSearch | ||
|
||
|
||
## To start developing: | ||
|
||
### Pull Requests | ||
|
||
Every pull requests should contain tests to coverage the functionality. | ||
|
||
- Coverage of 95% on written lines is required in order to merge. | ||
- Two reviews are needed before merging PRs | ||
|
||
|
||
### Get started | ||
|
||
1. Install [pdm](https://github.com/pdm-project/pdm#installation) amd create virtualenv | ||
1. Crate virtual env | ||
1. `pdm venv create` | ||
1. Register the created venv for the project with | ||
1. `pdm use` | ||
1. Activate your venv | ||
1. `pdm venv activate` | ||
1. Check your environment | ||
1. eg. $`python --version` -> see that it uses Python 3.12.* | ||
1. eg. $`which python` -> see that it matches you python executable in the venv you have created: $```echo `pwd`/.venv/bin/python``` | ||
1. Install the package | ||
1. `pdm install` | ||
1. Setup PYTHONPATH | ||
1. `export PYTHONPATH="$PYTHONPATH:./src"` | ||
1. Check and configure your environment: | ||
1. `./manage.py env --check` and configure the missing variables. | ||
You can generate a list for your development environment with the command `./manage.py env --develop --config --pattern='export {key}={value}'` | ||
1. Once the environment has been set up run the initial migrations | ||
1. `./manage.py migrate` | ||
1. Make sure to set up environment variables: | ||
1. Test using runserver $`./manage.py runserver` and logging in the admin `http://locslhost:8000/admin` | ||
|
||
|
||
### Code quality | ||
|
||
To enhance readability of code and increase code standars we use the following | ||
- pep8 - https://peps.python.org/pep-0008/ | ||
- flake8 - https://flake8.pycqa.org/en/latest/ | ||
- isort - https://pycqa.github.io/isort/ | ||
- black - https://black.readthedocs.io/en/stable/ | ||
- mypy - https://mypy-lang.org/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,5 +2,5 @@ | |
|
||
|
||
1. Pull Request Reviewed by 2 Core Developers | ||
2. Unit Test coverage 95% | ||
2. | ||
1. Unit Test coverage 95% | ||
1. Co |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,72 +1,7 @@ | ||
--- | ||
title: Development Guide | ||
--- | ||
# Development Guide | ||
We’re excited that you’re interested in contributing to HOPE! | ||
|
||
## Setup development environment | ||
Whether you’re a seasoned developer or new to open-source, your contributions | ||
are welcome and appreciated. This guide will walk you through the process of | ||
contributing and help you get started. | ||
|
||
|
||
### Prerequisites | ||
|
||
- This project uses PDM as package manager (see https://github.com/pdm-project/pdm). | ||
- A Postgres DB v15+ | ||
- A Redis server | ||
- An Elastic Search server | ||
|
||
|
||
## Technology Stack | ||
|
||
- Python | ||
- Django | ||
- Django REST Framework | ||
- GraphQL | ||
- Postgres | ||
- Celery | ||
- Redis | ||
- ElasticSearch | ||
- Kubernates | ||
|
||
|
||
## To start developing: | ||
|
||
### Pull Requests | ||
|
||
Every pull requests should contain tests to coverage the functionality. | ||
|
||
- Coverage of 95% on written lines is required in order to merge. | ||
- Two reviews are needed before merging PRs | ||
|
||
|
||
### Get started | ||
|
||
1. Install [pdm](https://github.com/pdm-project/pdm#installation) amd create virtualenv | ||
1. Crate virtual env | ||
1. `pdm venv create` | ||
1. Register the created venv for the project with | ||
1. `pdm use` | ||
1. Activate your venv | ||
1. `pdm venv activate` | ||
1. Check your environment | ||
1. eg. $`python --version` -> see that it uses Python 3.12.* | ||
1. eg. $`which python` -> see that it matches you python executable in the venv you have created: $```echo `pwd`/.venv/bin/python``` | ||
1. Install the package | ||
1. `pdm install` | ||
1. Setup PYTHONPATH | ||
1. `export PYTHONPATH="$PYTHONPATH:./src"` | ||
1. Check and configure your environment: | ||
1. `./manage.py env --check` and configure the missing variables. | ||
You can generate a list for your development environment with the command `./manage.py env --develop --config --pattern='export {key}={value}'` | ||
1. Once the environment has been set up run the initial migrations | ||
1. `./manage.py migrate` | ||
1. Make sure to set up environment variables: | ||
1. Test using runserver $`./manage.py runserver` and logging in the admin `http://locslhost:8000/admin` | ||
|
||
|
||
### Code quality | ||
|
||
To enhance readability of code and increase code standars we use the following | ||
- pep8 - https://peps.python.org/pep-0008/ | ||
- flake8 - https://flake8.pycqa.org/en/latest/ | ||
- isort - https://pycqa.github.io/isort/ | ||
- black - https://black.readthedocs.io/en/stable/ | ||
- mypy - https://mypy-lang.org/ | ||
To start contributing please start [configuring your development environment](setup.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Code quality | ||
|
||
To enhance readability of code and increase code standards we use the following | ||
|
||
- pep8 - <https://peps.python.org/pep-0008/> | ||
- flake8 - <https://flake8.pycqa.org/en/latest/> | ||
- isort - <https://pycqa.github.io/isort/> | ||
- black - <https://black.readthedocs.io/en/stable/> | ||
- mypy - <https://mypy-lang.org/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
|
||
# Pull Requests | ||
|
||
Every pull request should contain tests to coverage the functionality, | ||
only PR following below rules will be considered for merging: | ||
|
||
|
||
- Coverage of 95% on written lines is required in order to merge. | ||
- Two reviews are needed before merging PRs | ||
- Pass all our [code quality checks](lint.md) | ||
- Pull Request related to ticket must |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
--- | ||
title: Setup | ||
--- | ||
|
||
## Prerequisites | ||
|
||
This project uses PDM as package manager (see https://github.com/pdm-project/pdm), | ||
and relies on the following components: | ||
|
||
- A Postgres DB v15+ | ||
- A Redis server | ||
- An ElasticSearch server | ||
|
||
|
||
## Get started | ||
|
||
1. Install [pdm](https://github.com/pdm-project/pdm#installation) amd create virtualenv | ||
1. Crate virtual env | ||
1. `pdm venv create` | ||
1. Register the created venv for the project with | ||
1. `pdm use` | ||
1. Activate your venv | ||
1. `pdm venv activate` | ||
1. Check your environment | ||
1. eg. $`python --version` -> see that it uses Python 3.12.* | ||
1. eg. $`which python` -> see that it matches you python executable in the venv you have created: $```echo `pwd`/.venv/bin/python``` | ||
1. Install the package | ||
1. `pdm install` | ||
1. Setup PYTHONPATH | ||
1. `export PYTHONPATH="$PYTHONPATH:./src"` | ||
1. Check and configure your environment: | ||
1. `./manage.py env --check` and configure the missing variables. | ||
You can generate a list for your development environment with the command `./manage.py env --develop --config --pattern='export {key}={value}'` | ||
1. Once the environment has been set up run the initial migrations | ||
1. `./manage.py upgrade` | ||
1. Test using runserver $`./manage.py runserver` and logging in the admin `http://locslhost:8000/admin` |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
|
||
{{ gitsnippet('git@github.com:unicef/hope.git', 'LICENSE', '## Installation') }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.