Giter Club home page Giter Club logo

theiofoundation / projectlockdown Goto Github PK

View Code? Open in Web Editor NEW
37.0 10.0 14.0 11.65 MB

Project Lockdown (an initiative from The IO Foundation) is a civic tech, interactive platform providing an overview of the state of Human and Digital Rights around the globe. It evaluates policies obtained from official sources that may impact their observance. It provides, among other tools, a layered map interface that allows for a visual representation of the policies adopted, assisting a broad range of stakeholders in understanding the global state of their Rights. This empowers them to become active agents of global change.

Home Page: https://ProjectLockdown.world

License: GNU General Public License v3.0

JavaScript 82.72% HTML 0.35% CSS 3.06% SCSS 2.81% TypeScript 10.98% Shell 0.08%
hacktoberfest hacktoberfest2020 human-rights humanrights digital-rights rights-defenders evaluates-policies policies-tracking nonprofit impact

projectlockdown's People

Contributors

1337-ishaan avatar colisano195 avatar daniel-watson-totemic avatar daphnecys avatar dhaiwat10 avatar dwatson251 avatar filipkowal avatar jeff-knurek avatar jfqueralt avatar josephinelee1234 avatar maingockien01 avatar msftgits avatar nazeeh21 avatar salocindotten avatar shern26 avatar skade avatar stanley-miao avatar stevenwuzz avatar tiof avatar yehualashetgit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

projectlockdown's Issues

[PROD] Update text on MAP (tab menu)

@tiof-pld-team-documentation
Problem
The current contents on the MAP tab menu is not current.

Objectives
Rewrite the contents to reflect the new multi-DSL approach of v2.0:

  • General information is to be provided by the website.
  • Each DSL is self-contained in its MAP representation, including data and all other necessary information such as data points description, methodology, etc.

Extra information

Pending

Related Issues

[ADM] CI/CD Guidelines

logo

INSTRUCTIONS

  • Fill up this template (be as accurate as possible)
  • Review Labels. You should at least have the following:
    -- Stage: Assign the corresponding one [MANDATORY]
    -- Keyword: Assign the corresponding ones [OPTIONAL]
    -- Priority: Assign the corresponding one [MANDATORY]
    -- Project: PLD [MANDATORY]
    -- Module: Assign the corresponding one [MANDATORY]
    -- Team: Assign the corresponding ones [MANDATORY]
    -- Assignees: Assign the corresponding ones [OPTIONAL]

Once the Task is filled up PLEASE DELETE THIS INSTRUCTIONS BLOCK

What to document

Objectives

Where to store

Extra information

  • Must have
    --

  • Should have
    --

  • Could have
    --

  • Won't have
    --

Related documentation

Usage documentation

Technical documentation

UXUI resources

Other documentation resources

Related Issues

MAP: Update QueryString processing: Generation of RunTime Environment.

logo

Problem

Note: This Issue is the first part of a 2 steps operation. Please check the next step here: #170

The current v1.0 implementation was made to support only one DataSet Layer (DSL), which limits the ability to load other DSLs.
It features a configurable map via querystring with a number of settings available, which don't cover all desired options.
As the project advanced, these limitations are a bottleneck to move the platform into a Global Rights Observatory.

Objectives

Initialize MAP by obtaining the necessary configuration info from API.

Combine with the use of querystring parameters to obtain Environment AND Snapshot data for rendering the Map.

Proposed solution

Note: This Issue is the first part of a 2 steps operation. Please check the next step here: #170

image

Roughly:

  • Extract the (default DSL) Environment data structure (see documentation below)
  • [] Extract the Snapshot data for (default DSL) for time range relative to now
  • Parse the QueryString potentially passed by the user
  • Build the resulting RunTime Environment (RTE) data to use in the next step (#170)

Resources

๐Ÿ“– Technical documentation

๐Ÿ”ถ MAP

๐Ÿ”ถ API

๐Ÿ”ถ DB

Related Issues

#170

Integrate GitHub Issues with GAP to generate warnings.

Problem
We have observed failures in Google Services that are hard to determine whether it's a problem with their infrastructure or what else. This is specially confusing when we observe unplanned behavior in the DEI code without having done any change.
On the other hand, it will always be a good thing to track code bugs through Issues, as if it was a Console Log.

Objectives
To integrate GitHub Issues into the code so that it captures:

  • Unexpected execution stops
  • Untreated Cases
  • Others TBD

Extra information

Pending

Resources

Related Issues

[ADM] Open Positions listing on WEB via JOGL.

Problem
Posting for open positions is a repetitive, time-consuming task that involves too many platforms. Results are not always optimal.
Since we are working with JOGL, it has been proposed to use them as a volunteer recruitment platform.

Objectives

  • To centralize the definition of the open positions.
  • To list open positions in PLD's website.
  • To automate the distribution of open positions in as many channels as possible - In this case WEB.

Extra information
JOGL has the following APIs:
Needs
https://jogl-backend.herokuapp.com/api/projects/311/needs
https://jogl-backend.herokuapp.com/api/needs/312

Members
https://jogl-backend.herokuapp.com/api/needs/312/members

Feed
https://jogl-backend.herokuapp.com/api/feeds/5828

Pending

  • To also publish the information as an Issue on GitHub.

Documentation Resources

UXUI Resources

Tests Resources

Related Issues

[PROD] Create profile picture for GitHub PLD Teams.

logo

INSTRUCTIONS

  • Fill up this template (be as accurate as possible)
  • Review Labels. You should at least have the following:
    -- Stage: Assign the corresponding one [MANDATORY]
    -- Keyword: Assign the corresponding ones [OPTIONAL]
    -- Priority: Assign the corresponding one [MANDATORY]
    -- Project: PLD [MANDATORY]
    -- Team: Assign the corresponding ones [MANDATORY]

Once the Task is filled up PLEASE DELETE THIS INSTRUCTIONS BLOCK

Problem

GitHub generates random icons for GtHub Teams.

Objectives

To create the correspoding Team profile pictures to make them more visually identiable.

Proposed solution

  • Create individual icons
  • Store them in G Drive (Folder: [TIOF PLD] Repository > Project Identity > GitHub Teams)
  • Update GitHub Teams.

Extra information

  • Must have
    -- One different icon for each team (I believe we have already some designs from the G Shared Drive icons)
    -- Follow PLD's style guide

  • Should have
    --

  • Could have
    --

  • Won't have
    --

Resources

Usage documentation

Technical documentation

There is unfortunately no clear documentation on the requirements for these assets.

Setting your team's profile picture - LACKS indications on asset requirements.
https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-organizations-and-teams/setting-your-teams-profile-picture#:~:text=In%20the%20top%20right%20corner,the%20name%20of%20the%20team.
GitHub has been notified of this.

General Profile Picture requirements FOR User Accounts (in case we want to use it as safety net).
https://docs.github.com/en/enterprise/2.18/user/github/setting-up-and-managing-your-github-profile/personalizing-your-profile#:~:text=Tip%3A%20Your%20profile%20picture%20should,about%20500%20by%20500%20pixels.

UXUI resources

Other documentation resources

Tests

Related Issues

[ADM] Create list of abbreviations and terminology - Business Dictionary

@tiof-pld-team-documentation
Problem
As all projects, Project Lockdown has its own abbreviations and terms that ma
Compliance with international open standards may also increase the amount of terms.

Objectives

  • To have a sole source of truth when for all PLD terminologies and abbreviations for proper reference.

Extra information

Pending

Related Issues

Transitioning from PReact to React

logo

Problem

During the development of v1.0 we adopted PReact for the MAP.
This is causing maintenance problems and reduces the number of possible collaborators.

Objectives

To transition from Preact to React in MAP.

Proposed solution

For v2.0 we are transitioning out of it and moving towards React. This implies reviewing all files in the MAP and reformatting the code.

Extra information

  • Must have
    -- Remove all Preact code and replace it with React.

  • Should have
    --

  • Could have
    --

  • Won't have
    --

Resources

Usage documentation

Nil

Technical documentation

Nil

UXUI resources

Nil

Other documentation resources

Repository v1.0: https://github.com/Code-for-All/lockdown
Repository v2.0: https://github.com/TheIOFoundation/ProjectLockdown/

Related Issues

Nil

[PROD] Storytelling builder

Problem

Objectives
To be able to generate a story via a custom website - thinking of ArcGIS method.

Extra information

Pending

Documentation Resources

UXUI Resources

Tests Resources

Related Issues

[NEED] Seeking advice on: Best practices and suggestions on GitHub Labels.

Problem
Choosing the right Labels in a repository or Issue can be critical to ensure not only a proper contextualization of the information, also a better way to make it searchable across the project and the whole GitHub community at large.

Objectives

  • To constantly improve the contextualization of each piece of information in the project.
  • To increase visibility of the project across the GitHub community.

Requirements

  • Must have
    -- A structured logic that fits into the system TIOF uses. @@@pending
    -- A rationale, that needs to be articulated, as to why the incorporation.

  • Should have

  • Could have
    -- A reference to an open standard that we can refer to.
    -- A recommendation on color to be used, following the project style guide. @@@pending

  • Won't have

Extra information

Pending

Resources

Related Issues

[PROD] Create sample JSON for Dataset Layer structure EN v1.0 - Snapshot Schema

Problem
We want to create sample JSONs for the Dataset Layer structure based on [TIOF] Project Lockdown [I] Dataset Layer structure EN v1.0 - https://docs.google.com/spreadsheets/d/1LyfHe2SyX1OWCnKx9DxDPlHwloOnCVjMqn33YMTwXl0/edit#gid=1697341414

Data: https://docs.google.com/spreadsheets/d/1lYi_nrtI6WHpjKSPDIa2JaN5-rhIUlxTDx0fXcGoqYk/edit?ts=5f54cb6d#gid=1404284038

Objectives
To verify the completeness and correctness of the defined structure.

Outcome

  1. JSON for the data definition
  2. JSON for the data entry for at least 3 territories, with at least several data entries each.

Extra information
Store resulting sample JSONs in CosmosDB.
Tracking in daphne's repo: https://github.com/daphnecys/tiof-lockdown-sample-json

Pending

Resources

Related Issues

[ADM] Defining Project Lockdown - Join Us!

About the project

Project Lockdown (an initiative from The IO Foundation) is a civic tech, interactive platform providing an overview of the state of Human and Digital Rights around the globe. It evaluates policies obtained from high quality sources that may impact their observance. It provides, among other tools, a layered map interface that allows for a visual representation of the policies adopted, assisting a broad range of stakeholders in understanding the global state of their Rights. This empowers them to become active agents of global change.

Current status

  • Implementing v2.0.
  • Transitioning from Repository v1.0 to Repository v2.0 and cleaning the code in the process.

Check the documentation to know more about the features under development.

[PROD] Define the API for the Back End

logo

Problem

In order to implement API v2.0 we need to first define the API Endpoints we'll need.

Objectives

Define and document the API Endpoints that we'll need for:

  • MAP
  • Public API access

Proposed solution

MAP

  • Environments

Public API

  • Territories
  • DataSetLayers
  • Origins
  • Sources
  • DataSetEntries

Note: Some of the above may be combined in one Endpoint.

Extra information

  • Must have
    -- Open API v3.0 format
    -- Use Stoplight to create the models

  • Should have
    -- Use Global Param and Responses definitions whenever possible.

  • Could have
    -- Nil

  • Won't have
    -- Nil

Resources

Usage documentation

https://theiofoundation.stoplight.io/docs/projectlockdown/API/Reference/Project-Lockdown.v1.json

Technical documentation

https://theiofoundation.stoplight.io/docs/projectlockdown/API/Reference/Project-Lockdown.v1.json

Figma sketches
https://www.figma.com/file/8hZMv4ks9lrrl1K0uGfEKx/%5BPROD%5D-DataSet-Layers-(DSL)

Data Lifecycle:
https://www.figma.com/file/8hZMv4ks9lrrl1K0uGfEKx/PROD-DataSet-Layers-DSL?node-id=262%3A4

Tests

Related Issues

API: Different response formats

logo

โ• Problem description

Currently, our Open Data API offers only responses in JSON format. This may not be the most adequate format for data analysis in certain scenarios.

To offer better, standard formats to extract the RAW data from Project Lockdown.

๐Ÿ’ก Proposed solution

For each public endpoint, (see documentation ), there should be an option to provide format to the API request parameters, in order to obtain the following formats:

  • CSV
  • XLS
  • HXL

See Format documentation below for details on each format.

Definition of Done

  • implemented into each public endpoint
  • default data if not specified is JSON
  • documentation in Stoplight is updated to indicate how this works
  • basic unit tests added to code
  • deployed to production servers

๐Ÿ“š Resources

Project documentation

API Technical documentation

  • API reference (includes mock server): Stoplight
  • JSON Models reference (schemas): Stoplight

Format documentation

[PROD] Leverage URLs for statistics and user journey (Matomo)

Problem
Currently a number of actionable elements do no trigger a change in URL and thus complicate analyzing and understanding the users' journey.

Objectives
Make it possible to follow all of a user's journey.

Extra information

Pending

Documentation Resources

UXUI Resources

Tests Resources

Related Issues

[PROD] Create sample JSON for Dataset Layer structure EN v1.0 - DataSet Layer Schema

Problem
We want to create sample JSONs for the Dataset Layer structure based on [TIOF] Project Lockdown [I] Dataset Layer structure EN v1.0 - https://docs.google.com/spreadsheets/d/1LyfHe2SyX1OWCnKx9DxDPlHwloOnCVjMqn33YMTwXl0/edit#gid=1697341414

Data: https://docs.google.com/spreadsheets/d/1lYi_nrtI6WHpjKSPDIa2JaN5-rhIUlxTDx0fXcGoqYk/edit?ts=5f54cb6d#gid=1404284038

Objectives
To verify the completeness and correctness of the defined structure.

Outcome

  1. JSON for the data definition
  2. JSON for the data entry for at least 3 territories, with at least several data entries each.

Extra information
Store resulting sample JSONs in CosmosDB.
Tracking in daphne's repo: https://github.com/daphnecys/tiof-lockdown-sample-json

Pending

Resources

Related Issues

[PROD] Transition PLD Sources to Sources repository.

logo

Problem

Project Lockdown obtains its data from a variety of sources, from web scrapping to readiliy available policy databases and others.
Until now, we have been using Trello to organize each individual policy, which is then processed by @TheIOFoundation/tiof-pld-team-research

This work is mostly done through some Google App Scripts (currently only one) which read a bunch of rows in a G Sheet, parse them and generate Trello cards in different Trello boards, one per region (Africa, Americas, Asia, Europe, Middle East, Pacific).

As part of our transition to GitHub, we need to update the script so that it creates GitHub Issues instead and stores them in our dedicated PLD Sources repo: https://github.com/TheIOFoundation/ProjectLockdown.DataSetLayers
This is part of our efforts of consolidation in the project, which align with our values of Community and Accountability.

Objectives

To use https://github.com/TheIOFoundation/ProjectLockdown.Sources to store all our our PLD Sources.

Proposed solution

To create a GitHub Issue for each PLD Source by modifying the existing script.

Extra information

  • Must have
    -- Create one GitHub Issue in ProjectLockdown.DataSetLayers (https://github.com/TheIOFoundation/ProjectLockdown.DataSetLayers) for each individual PLD Source.
    -- Respect the same format that was used in Trello.

  • Should have
    -- A way to capture
    --- Creation Date
    --- Due Date
    --- Completed Date

  • Could have
    -- Format improvements can be proposed (need to be articulated).
    -- Detect PLD Source duplicates before creation to minimize unnecessary work.
    -- A way to establish geoposition (via PLDCode, ISO3 or Lat+Long)

  • Won't have
    --

Resources

Usage documentation

Technical documentation

UXUI resources

Other documentation resources

Sample Trello Board with PLD Sources
https://trello.com/b/cqBmNDFZ/pld-coding-editors-region-africa
https://trello.com/b/qz8Z2fkq/pld-coding-editors-region-americas
https://trello.com/b/t4iuoa5b/pld-coding-editors-region-asia
https://trello.com/b/Bj2rDfVZ/pld-coding-editors-region-europe
https://trello.com/b/I7tsK0Gl/pld-coding-editors-region-middle-east
https://trello.com/b/zlAaMcTA/pld-coding-editors-region-pacific

Note: You may need to request access to these boards. Please reach out to Julie Green.

Tests

Related Issues

[NEED] Team-oriented password manager.

Problem
Members are Project Lockdown use a number of platform services to implement their tasks.
In many cases these platforms allow for using the PLDUser Account credentials (in fact, we prioritize that).

Nevertheless, certain platforms do not allow this (or have a user limitation) and we need to resort to sharing a same credential across several members.
For instance, Team Comms has a Twitter, Team UXUI has Figma and so on.

Sharing credentials has the added problem that they need to be centrally distributed (no, copy & paste around is never a good idea) and therefore their management becomes potentially problematic.
For instance, access to certain platforms need to be enabled for only the appropriate users.

Objectives

  • A central repository of shared passwords.
  • Being able to quickly redistribute new credentials in case needed.

Requirements

  • Must have
    -- Free / Open Source / Nonprofit license
    -- Online interface.
    -- Strong encryption mechanism.
    -- Team-oriented administration of some sort.
    -- No user limit

  • Should have
    -- The ability to assign groups of credentials to a group of users.

  • Could have
    -- Compatibility with other platforms.
    -- Google credentials integration.
    -- Google groups integration (so that we just implement access control via our Google User Directory)
    -- API (in case we need to make assignments manually)

  • Won't have
    -- Proprietary code.

Extra information
A decent option could be KeeWeb: https://app.keeweb.info/
(it could be hosted behind our website and therefore the Google Credentials part could be sorted out)

Pending

Resources
Keepass: https://keepass.info/

Related Issues

[ADM] Update Production URL Endpoints

logo

Problem

Project Lockdown v1.0 didn't have a structured URL Endpoints policy, creating inconsistency as to how Modules and API Endpoints.

Objectives

Updated and document all the URL and Endpoints for Project Lockdown in a structured and consistent manner.

Proposed solution

created a spreadsheet with the mapping of URL to what should be rendered: https://docs.google.com/spreadsheets/d/1cSrhqm5ojYBHNqG4mLIj_ihgH8As1nsZujysHJm5zdg/edit?usp=sharing
(this is based on the text that used to be in this ticket)

Definition of Done

  • all production URLs rendering to the correct module
    • DNS Config on Cloudflare
    • Configuration in Azure as necessary
    • Configuration in Netlify as necessary
  • Documentation on Wiki
  • an additional task for "staging" environments should be created once it's understood what can be accomplished

Resources

Project Lockdown: https://github.com/TheIOFoundation/ProjectLockdown/wiki/_new#tlds-urls--endpoints
Cloudflare: https://www.cloudflare.com/learning/dns/what-is-dns/
Azure: https://docs.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-custom-domain
Netlify: https://docs.netlify.com/domains-https/custom-domains/

[PROD] Convert project banner into watermark

logo

Problem

The current project banner takes up too much space for which it has no real use. See screenshot:

image

Objectives

Following the update of Desktop version of the StatsBox (SB) (see #4 ), we would need to

In general, we indent to:

  • To reduce the visual impact of the project banner.
  • To keep the project properly identified in the MAP.

Proposed solution

Extra information

  • Must have
    -- PLD Watermark to appear at all times. Possible configurations to be implemented later on.
    -- Integrate in a way that minimizes visual disturbance and avoids UX issues to the users.

  • Should have
    -- Nil

  • Could have
    -- Nil

  • Won't have
    -- Nil

Resources

Usage documentation

Technical documentation

UXUI resources

Other documentation resources

PLD Website:
https://ProjectLockdown.world

Tests

Related Issues

#4

Problem

Objectives

Since the final mockup is still pending, the best course of action would be

  • Create a text-based sample (Project Lockdown)
  • Apply some basic CSS
  • Position Top Left of the MAP
    Once we have the final mockup we will proceed with the final retouches.

Mockup
image

Pending

  • Final mockup for the watermark.
    @TheIOFoundation/tiof-pld-team-uxui

Related Issues
Ignore the StatsBox as it is being treated in a separate Issue: #4

[NEED] Code quality and Security

Problem
Maintaining a large, community oriented codebase is always prone to potential errors and security problems.

Objectives
To identify one or more tools that can supervise Project Lockdown's codebase and trigger warnings

Requirements

  • Must have
    Free / Community / Open Source / Nonprofit free license.

Codebase review
-- Quality
-- Security

  • Should have
    Ability to generate Issues in GitHub.
    Web based (serverless for Project Lockdown)

  • Could have
    Server based (we would then resort to spin our instance somewhere - Cost to be evaluated)

  • Won't have

Extra information
Similar products available

REQUIRED update wiki: https://github.com/TheIOFoundation/ProjectLockdown/wiki/Dev-Guidelines

Pending

Resources

Related Issues

[NEED] Email sharing platform.

INSTRUCTIONS

  • Fill up this template (be as accurate as possible)
  • Review Labels. You should at least have the following:
    -- Need: Tool [MANDATORY]
    -- Stage: Assign the corresponding one [MANDATORY]
    -- good first issue [OPTIONAL]
    -- Keyword: Assign the corresponding ones [OPTIONAL]
    -- Module: Assign the corresponding ones [MANDATORY]
    -- Priority: Assign the corresponding one [MANDATORY]
    -- Project: PLD [MANDATORY]
    -- Team: Assign the corresponding ones [MANDATORY]

Once the Task is filled up PLEASE DELETE THIS INSTRUCTIONS BLOCK

Problem
While the use email keeps widely being used, it is not easy to share
Single inboxes are impractical and Delegation is an admin nightmare.

Google Groups does not solve this problem as it becomes complicated to make sure who answers what and under which identity. It is also the case that said entry points may have been

This situation occurs accross Teams where a common entry point is to be shared among team members to balance the load.
As of a first analysis, the affected Teams are the ones reflected in the Labels.

Objectives

Requirements

  • Must have

  • Should have

  • Could have

  • Won't have

Extra information
Similar products out there (which haven't been selected due to one limitation or another)
GMelius: https://gmelius.com/
Front: https://frontapp.com/

Note: Many others have been also tested. To update this ticket to reflect those.

Pending

Resources

Related Issues

[PROD] Enable a way to have custom fields in GitHub Issues.

logo

Problem

GitHub Issues have some limitations in terms of metadata by design.
For instance, you can't have Due Dates (there are some petitions open to get that done - GitLab has them) and in general any custom field.
In certain scenarios this is needed.

Example: We will be creating our PLD Sources in a dedicated Repo (https://github.com/TheIOFoundation/ProjectLockdown.Sources) and each Source Document will be represented by a GitHub Issue. One of the things we want to have is the ability to set a Due Date and also a metadata to represent them in a map (we currently can do that in Trello).

Objectives

To be able to "inject" custom fields in GitHub Issues.

Proposed solution

We could inject some JSON inside the GitHub Issue (at script time, when they are created) though it's unclear to me if that's a good idea.

Via Actions:
https://github.com/marketplace/actions/due-dates

Haven't found anything good out there (see some links on Resources)

Extra information

  • Must have
    -- The ability to create custom fields.

  • Should have
    -- Done in a machine-readable format (JSON?)

  • Could have
    -- ZenHub integration.

  • Won't have
    --

Resources

Usage documentation

Technical documentation

UXUI resources

Other documentation resources

https://stackoverflow.com/questions/32019142/how-to-add-custom-attributes-in-github-issues

Tests

Related Issues

isaacs/github#432

https://github.community/t/feature-request-due-dates-for-specific-issues-without-needing-a-milestone/1452/4

[NEED] Code parsing and visual map.

Problem
When inspecting a new codebase it is not always straightforward to determine its architecture and how each file and component interacts with each other. It is specially useful to visualize the whole codebase in a visual map.
While Project Lockdown strives to provide accurate and updated documentation, this is not always sufficient.

Objectives
To be able to visualize as easily as possible the whole codebase for each of the Modules involved.

Requirements

  • Must have
    Open Source / Free / Nonprofit free licensing / Open Source free licensing

  • Should have
    Web based
    Documentation generator
    Integrated team management

  • Could have
    Nil

  • Won't have
    Nil

Extra information
Some interesting similar tools are:
Sourcetrail: https://www.sourcetrail.com/
Semantic: https://github.com/github/semantic
Sourcegraph: https://about.sourcegraph.com/
arkit Pro: https://arkit.pro/
Madge: https://github.com/pahen/madge
Dependency Cruiser: https://www.npmjs.com/package/dependency-cruiser
Code Dependency: https://github.com/Himenon/code-dependency

Pending
Nil

Resources
Nil

Related Issues
Nil

Remove all PWA services.

logo

Problem

During v1.0 decision was made to adopt a PWA strategy.
As the development moved forward into v1.0, this proved to be a problem impacting performance and code maintenance.

Objectives

To have a more lightweight MAP that is more easy to maintain.

Proposed solution

Remove the PWA code from the codebase.

Extra information

  • Must have
    --

  • Should have
    --

  • Could have
    --

  • Won't have
    --

Resources

Usage documentation

Technical documentation

UXUI resources

Other documentation resources

Tests

Related Issues

[PROD] Rebuild Style StatsBox (SB) desktop to look like Mobile.

logo

Problem

The current desktop visualization of the StatsBox is takes too much surface. In order to gain visual space, it is to be rendered in the same way as mobile.

Objectives

  • To standardize the user experience among platforms
  • To increase the visible space in the MAP

Proposed solution

Reuse the existing mobile design and use it on desktop too.

Current desktop UI view
image

Target desktop UI view
image

Note
Ignore the "Lockdown" banner as it is treated on a separate Issue: #5

Extra information

  • Must have
    -- Same design in mobile & desktop

  • Should have
    -- Nil

  • Could have
    -- Nil

  • Won't have
    -- Nil

Resources

Usage documentation

Technical documentation

UXUI resources

https://TIOF.Click/PLDDocsMAPUXUI

Other documentation resources

Tests

Related Issues

[ADM] Back End Guidelines

logo

INSTRUCTIONS

  • Fill up this template (be as accurate as possible)
  • Review Labels. You should at least have the following:
    -- Stage: Assign the corresponding one [MANDATORY]
    -- Keyword: Assign the corresponding ones [OPTIONAL]
    -- Priority: Assign the corresponding one [MANDATORY]
    -- Project: PLD [MANDATORY]
    -- Module: Assign the corresponding one [MANDATORY]
    -- Team: Assign the corresponding ones [MANDATORY]
    -- Assignees: Assign the corresponding ones [OPTIONAL]

Once the Task is filled up PLEASE DELETE THIS INSTRUCTIONS BLOCK

What to document

Objectives

Where to store

Extra information

  • Must have
    --

  • Should have
    --

  • Could have
    --

  • Won't have
    --

Related documentation

Usage documentation

Technical documentation

UXUI resources

Other documentation resources

Related Issues

[ADM] Set up Mautic

Interesting: SOFTACULOUS does have MAUTIC

image

Problem

Objectives

Extra information

Pending

  • Source training videos
  • Identify who needs to have access and their roles
  • Automation of provisioning
  • Define automation flows
  • Create automation flows

Resources

Related Issues

[ADM] Move v1.0 UI icons/assets to v2.0 folder.

logo

Problem

MAP v2.0 does not yet have its datapoints' icon assets in the corresponding folder.
(Note: Only DSL currently - COVID-19 NPIs)

Objectives

Make the data point icons available for MAP.

Proposed solution

Technical documentation

DPUIDs on Data Entry Interface
https://docs.google.com/spreadsheets/d/1mVyQxxLxAF3E1dw870WHXTOLgYzmumojvzIekpgvLV0/edit#gid=165541282
-> See the DPUID on column A and add DSLUID=1

See nomenclatures on Asset documentation
https://github.com/TheIOFoundation/ProjectLockdown/blob/master/Assets/Readme.md

[PROD] Implement loading animation.

Problem
During the load of the MAP, a number of external dependencies and data loading happen asynchronously. As a result, users experience a loading that does not properly indicate when is the information accurate and the MAP available.
From a UX perspective, this is not conducive.

Objectives
To create a loading Clock to signify clearly to the user that:

  • The MAP is loading
  • The MAP is ready
  • FUTURE: That something has gone wrong in the loading
  • FUTURE: That something has gone wrong in the current user interaction

Extra information
Since we do not have a currently a design for the Clock, for the time being just use a sample.
A good place to generate one: https://loading.io/spinner/clock/-pin-tick-clock-time-date-watch-rotate

Pending
For FUTURE, we are missing defining a flow.

@TheIOFoundation/tiof-pld-team-uxui
To design a Clock.

Resources

Related Issues

[ADM] Documenting the database objects.

logo

What to document

Schemas for PLD database.

Objectives

  • Convert existing documentation on G Sheet to DBML format.
  • Review existing definitions in DBML sample file.
  • Put all objects in the same DBML document.
  • Link all objects accordingly.
  • Generate documetation pages on HTML.

Where to store

  • GitHub > ProjectLockdown > Docs > DB

Extra information

  • Must have
    -- Follow object templates and nomenclatures as present in the sample.

  • Should have
    --

  • Could have
    --

  • Won't have
    --

Related documentation

Usage documentation

Technical documentation

UXUI resources

Pending styling guidelines from Team UXUI.

Other documentation resources

Related Issues

[ADM] Transition Wiki from v1.0 to v2.0

logo

What to document

Project Lockdown's Wiki for repository v2.0

Repo v1.0: https://github.com/Code-for-All/lockdown/
Wiki v1.0: https://github.com/Code-for-All/lockdown/wiki

Repo v2.0: https://github.com/TheIOFoundation/ProjectLockdown/
Wiki v2.0: https://github.com/TheIOFoundation/ProjectLockdown/wiki

Objectives

  • Update all links in v1.0 repo to point to v2.0
  • Update text in Repo landing v1.0 page to reflect that all development is to be diverted towards v2.0
  • Update COVID-19 NPIs DSL Editor's guideline
  • Remove all other Wiki pages from v1.0
  • Update Wiki footer
  • Verify Wiki 2.0 - Initial pass
  • Verify Wiki 2.0 - Final pass

Wiki v2.0

  • Start

  • Home

  • How it works

  • How to use

  • How to participate

  • Voices from the Agora

  • Roadmap

  • FAQ

  • About

  • Dev Guidelines

  • General considerations

  • Code of Conduct

  • CI/CD

  • Documenting

  • Back End

  • Font End

  • UX/UI

  • Accessibility

  • Database

  • Getting Started

  • Schemas

  • Back Office

  • Getting Started

  • Sources

  • Funnels

  • Getting Started

  • Insourcing

  • Crowdsourcing

  • Machine Learning

  • Direct Feed

  • Data E. Interface

  • Getting Started

  • API

  • Getting Started

  • Mapping Platform

  • Getting Started

  • Website

  • Getting Started

  • Policies

  • Transparency

  • Territories

  • Sources

  • Data & Privacy

Where to store

Project Lockdown's Wiki: https://github.com/TheIOFoundation/ProjectLockdown/wiki

Extra information

  • Must have
    --

  • Should have
    --

  • Could have
    --

  • Won't have
    --

Related documentation

Usage documentation

Technical documentation

UXUI resources

Other documentation resources

[PROD] Transitioning gTLDs.

Problem
Because of original decisions of Internationalization (whose motives remain very valid), we engaged in a number of gTLDs.
This is causing problems when it come to:

  • Consolidating metrics
  • Creating a consistent services nomenclature
  • Cross-site security problems.

Objectives

  • Consolidate all the gTLDs as subdomains for TLD .world
  • Configure metric platforms (MATOMO, Hotjar & others) to point out to the correspondent TLD
  • Document the changes (new Issue)

Extra information

Changes:

  • ProjectLockdown.Earth-> MAP.ProjectLockdown.world
  • ProjectLockdown.africa -> MAP.ProjectLockdown.world/AF
  • ProjectLockdown.asia -> MAP.ProjectLockdown.world/AS
  • ProjectLockdown.eu-> MAP.ProjectLockdown.world/EU
  • ProjectLockdown.me -> MAP.ProjectLockdown.world/ME
  • ProjectLockdown.lat -> MAP.ProjectLockdown.world/SA
  • ProjectLockdown.us -> MAP.ProjectLockdown.world/NA

Note: We are using the ISO Continent codes (see Resources) plus:

Pending

Resources

Related Issues

[ADM] Front End Guidelines

logo

INSTRUCTIONS

  • Fill up this template (be as accurate as possible)
  • Review Labels. You should at least have the following:
    -- Stage: Assign the corresponding one [MANDATORY]
    -- Keyword: Assign the corresponding ones [OPTIONAL]
    -- Priority: Assign the corresponding one [MANDATORY]
    -- Project: PLD [MANDATORY]
    -- Module: Assign the corresponding one [MANDATORY]
    -- Team: Assign the corresponding ones [MANDATORY]
    -- Assignees: Assign the corresponding ones [OPTIONAL]

Once the Task is filled up PLEASE DELETE THIS INSTRUCTIONS BLOCK

What to document

Objectives

Where to store

Extra information

  • Must have
    --

  • Should have
    --

  • Could have
    --

  • Won't have
    --

Related documentation

Usage documentation

Technical documentation

UXUI resources

Other documentation resources

Related Issues

[NEED] URL change monitoring.

Problem
Monitoring the contents of several sources of information is really time and resource consuming.

Objectives

Requirements

  • Must have
    -- Free / Open Source / Nonprofit licensing.
    -- Monitor URLs of any sorts.
    -- No limit or very high limit. If necessary several accounts could be used in parallel although that would increase admin tasks.

  • Should have
    -- API interface.
    -- Github integration (to generate Issues).
    -- G Accounts integration.

  • Could have

  • Won't have

Extra information

Pending

Resources

Related Issues

[PROD] Incorrect links in DEI.

logo

Describe the bug
Certain territories in the DEI (Global Sheet) are not pointing to their corresponding Sheets.
Reported from Australia to Gambia.

To Reproduce
Steps to reproduce the behavior:

  1. Go to DEI
  2. Select Global Sheet
  3. Find Gambia and click on its link.
  4. See error as it doesn't jump to the corresponding Sheet.

Expected behavior
Each territory should be correctly point to its corresponding Sheet.

Screenshots
Nil

Desktop (please complete the following information):
Nil

Smartphone (please complete the following information):
Nil

Additional context
Nil

[PROD] Create sample JSON for Dataset Layer structure EN v1.0 - Layouts Schema

Problem
We want to create sample JSONs for the Dataset Layer structure based on [TIOF] Project Lockdown [I] Dataset Layer structure EN v1.0 - https://docs.google.com/spreadsheets/d/1LyfHe2SyX1OWCnKx9DxDPlHwloOnCVjMqn33YMTwXl0/edit#gid=1697341414

Data: https://docs.google.com/spreadsheets/d/1lYi_nrtI6WHpjKSPDIa2JaN5-rhIUlxTDx0fXcGoqYk/edit?ts=5f54cb6d#gid=1404284038

Objectives
To verify the completeness and correctness of the defined structure.

Outcome

  1. JSON for the data definition
  2. JSON for the data entry for at least 3 territories, with at least several data entries each.

Extra information
Store resulting sample JSONs in CosmosDB.
Tracking in daphne's repo: https://github.com/daphnecys/tiof-lockdown-sample-json

Pending

Resources

Related Issues

[ADM] Configure Cloudflare.

Problem
Cloudflare needs some more work on.

Objectives

  • Enhance general protection
  • Optimize speed

Extra information

Pending

Resources

Related Issues

[PROD] Implement i18n translations interface.

logo

Problem

Currently the i18n interface requires possible collaborators (translators) to

  • Understand where to find the translation source files
  • Edit the texts under a

Objectives

Steps:
1 - To establish a standard UID system across the project for content elements (see corresponding UI schema documentation)
2 - To implement a GUI to provide translators with an easy way to work on the content elements and to submit the changes transparently as PRs.
3 - FUTURE: To implement the GUI integrated in the MAP in Back Office mode so that they can observe the context of what is being translated.

Proposed solution

To implement separate, easy to edit files to be maintained through the POEditor tool.

  • Establish policy to story the language files
  • Configure POEditor accordingly
  • Set the necessary on the DB for Models to point to their corresponding files
  • Document the procedure for translators
  • Proceed with pending translations
  • Outreach campaign on the possibility to help with translations

Extra information

  • Must have
    -- Nil

  • Should have
    -- Nil

  • Could have
    -- Nil

  • Won't have
    -- Nil

Resources

Usage documentation

POEditor Help: https://poeditor.com/help/

Technical documentation

UXUI resources

Other documentation resources

Tests

Related Issues

[NEED] Visual API manager

logo

Problem
Project Lockdown doesn't have a tool to model and document APIs.

Objectives
To source an product/tool that would allow us to properly model and document our JSON schemas and API Endpoints.

Requirements

  • Must have
    -- Free licenses / Open Source or Nonprofit
    -- Able to document JSON schemas
    -- Able to document API Endpoints

  • Should have
    -- Nil

  • Could have
    -- Sample JSON files
    -- Mock servers

  • Won't have
    -- Nil

Extra information

Current options

  • Postman (10 Nonprofit licenses in process)
  • Hackolade
  • Swagger

Related Issues

[ADM] Architecture documentation

@tiof-pld-team-documentation
Problem
We are lacking of a consistent set of architecture documentation. We have many documents that are scattered all over too many places.

Objectives

  • Consolidate all information
  • Create proper diagrams
  • Publish information on Wiki
  • Ensure information is provided on onboarding
  • Make short intro videos

Extra information

Pending

Related Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.