Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.8%) to scientific vocabulary
Repository
Admin Dashboard
Basic Info
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Admin Dashboard
Admin dashboard for downloading campaigns data to a CSV file format.
Login using the campaign code as username and the password set for the campaign as an environment variable in the
back-end. Check the Environment variables section in the back-end repo.
It is also required to configure the environment variables for either Google or Azure in the back-end.
The username admin has access to all campaigns data, to enable the admin you must set the environment
variable ADMIN_PASSWORD in the back-end.
When login succeeds, the back-end returns an access token to validate the user when making requests to the back-end. This token is valid for ~30 days.
The following functionalities are included:
- Download all campaign data.
- Download campaign data between dates (requires the field
ingestion_timein the CSV file used in the back-end). - Download campaign countries breakdown.
- Download campaign source files breakdown (requires the field
data_sourcein the CSV file used in the back-end).
Environment variables
Required:
NEXT_PUBLIC_DASHBOARD_API_URL=The url to the Dashboard API.
System requirements
- Node.js 18 or above.
Install
Configure .env.local. with the environment variables.
Then:
bash
npm install
npm run build
Run
bash
npm run start
Lint project
bash
npm run lint
Format project
bash
npm run format
Deployment to Google App Engine
Add the required environment variables to Repository secrets in GitHub. Add optional
environment variables if needed. These variables will be loaded into app.yaml.
Inside app.yaml change service to your service name on App Engine.
For deployment, it is also required to add the following environment variables to Repository secrets:
SERVICE_NAME=The service name in App Engine.GOOGLE_CREDENTIALS_JSON_B64=Content of credentials.json file inBase64format.SERVICE_ACCOUNT=The Google Cloud service account.PROJECT_ID=The Google Cloud project id.
Add/Modify resources in app.yaml as needed.
The GitHub action at .github/workflows/prod-deploy-google-app-engine.yaml will trigger a deployment to Google App
Engine on push or merge.
This script builds a Docker image and pushes to Google Container Registry and then deploys. In the future we may change
to a direct Dockerless deployment which would use app.yaml. No authentication is needed because authentication is
provided via the Google App Engine service account, whose credentials are stored in the GitHub
secret GOOGLE_CREDENTIALS_JSON_B64 (to change this, go to the GitHub web interface and got o Settings -> Secrets and
variables -> Actions. You will need to be an administrator on the GitHub repo to modify these credentials).
There is also a manual Google App Engine deployment file set up in app.yaml. You can deploy manually from the command
line using gcloud app deploy app.yaml (you must directly include the env variables in app.yaml). You need to install
Google Cloud CLI (Command Line Interface) and be authenticated on the Google Cloud Platform service account.
Deployment to Azure Web Apps
Add the following environment variables to Repository secrets in GitHub:
AZURE_WEBAPP_PUBLISH_PROFILE=The publish profile of your web app.AZURE_WEBAPP_NAME=The web app name.NEXT_PUBLIC_DASHBOARD_API_URL=The url to the Dashboard API.
At Configurations -> General settings -> Startup command add node server.js.
The GitHub action at .github/workflows/prod-deploy-azure-webapps.yaml will trigger a deployment to Azure Web
App on push or merge.
Workflows
In each repository there's two workflows (To deploy to Google or Azure), make sure to only enable the correct
workflow in
the repository on GitHub: https://docs.github.com/en/actions/using-workflows/disabling-and-enabling-a-workflow.
Legacy campaigns
This section can be ignored as it details some information of dashboards used with this project originally.
Additional environment variables:
NEXT_PUBLIC_PMNCH_DASHBOARD_API_URL=The url to the PMNCH Dashboard API.
License
MIT License.
Owner
- Name: worldwewant
- Login: worldwewant
- Kind: organization
- Repositories: 1
- Profile: https://github.com/worldwewant
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Wood" given-names: "Thomas" orcid: "https://orcid.org/0000-0001-8962-8571" - family-names: "Jacobs" given-names: "Zairon" title: "Dashboard" version: 0.5.0 date-released: 2023-12-08 url: "https://explore.whiteribbonalliance.org/en/healthwellbeing"
GitHub Events
Total
Last Year
Dependencies
- Dockerfile * docker
- actions/checkout v4 composite
- actions/download-artifact v3 composite
- actions/setup-node v3 composite
- actions/upload-artifact v3 composite
- azure/webapps-deploy v2 composite
- ./.github/actions/app-yaml-replace-env-variables * composite
- actions/checkout v3 composite
- google-github-actions/auth v1 composite
- google-github-actions/setup-gcloud v1 composite
- python 3.9-alpine build
- base latest build
- node 18-alpine build
- 364 dependencies
- @types/node 20.5.7 development
- @types/react 18.2.21 development
- @types/react-datepicker 4.15.0 development
- @types/react-dom 18.2.7 development
- @types/uuid 9.0.3 development
- autoprefixer 10.4.15 development
- eslint 8.48.0 development
- eslint-config-next 13.4.19 development
- postcss 8.4.31 development
- prettier 2.7.1 development
- prettier-plugin-tailwindcss 0.1.12 development
- sass 1.54.0 development
- tailwindcss 3.3.3 development
- typescript 5.2.2 development
- @headlessui/react 1.7.14
- @hookform/resolvers 2.9.7
- @types/js-cookie 3.0.6
- js-cookie 3.0.5
- jwt-decode 4.0.0
- next 14.0.4
- react 18.2.0
- react-datepicker 4.16.0
- react-dom 18.2.0
- react-hook-form 7.43.9
- react-query 3.39.3
- uuid 9.0.0
- zod 3.22.4
- zustand 4.4.1
- pyyaml ==6.0.1