Skip to content
This repository was archived by the owner on Mar 4, 2024. It is now read-only.
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
220 commits
Select commit Hold shift + click to select a range
dd42ba9
pip-tools: Recompile pip-tools
Apr 27, 2021
55ed603
tidy: Clean up scripts
Apr 27, 2021
ccb899b
readme: Update the readme
Apr 27, 2021
f718e87
readme: Update the readme
Apr 27, 2021
5aadb33
design: Add SCSS and update templates
Apr 27, 2021
2b757fa
registry: Refactor card list
Apr 27, 2021
23edc53
view: Set up basic routing for dashboard and publishers
May 3, 2021
740f236
dashboard: Basic structure and examples
May 3, 2021
ee97d30
demo: Dashboard tweaks
May 3, 2021
c975ab5
demo: Add some random numbers and create comparable plots
May 3, 2021
5658ba6
requirements_dev: Add Black
May 3, 2021
bdfedf0
demo: Random publisher stats
May 4, 2021
723a56d
publisher view: Add publisher list header
May 4, 2021
1f8439d
ajax: Set up flask template reload example
May 7, 2021
2a8bfa0
tester: Add working but ugly search box
May 10, 2021
fcd0a30
registry: Build the registry as a Vue app
May 14, 2021
c08c44c
router: Set up basic routing for the app
May 18, 2021
35f9a13
vue: Downgrade to vue2
May 18, 2021
ee512ac
structure: Restructure all vue files
May 18, 2021
1ff5e8d
skeleton: Add files and fluff for integrating designs
May 18, 2021
bc9aec5
data.json: Add route for data.json download
May 20, 2021
f6367ae
registry: Restore original registry files
May 20, 2021
f9a6e05
flask: Setup vue to build to flask for production
May 21, 2021
e59425e
fix: flake8
May 21, 2021
4e8ccf4
fix: flake8
May 21, 2021
cca69dd
build: Set new build path
May 21, 2021
99eaa13
templates: Update multiple templates and tidy assets
May 28, 2021
bde85e2
templates: Add sort/filter/table to publishers view
May 28, 2021
3af57a2
build: Run the vue build command
May 28, 2021
1b72014
index.html: Add favicons and material icons cdn
May 31, 2021
7c2a698
publisher: Add publisher detail pages
May 31, 2021
aedcc7f
build: Run interim production build
May 31, 2021
d3692ac
routing: Sort out route paths
May 31, 2021
4af9ec4
templates: Add various templates
Jun 1, 2021
9112347
assets: Add icons
Jun 1, 2021
27a1f95
build: Do another interim production build
Jun 1, 2021
45171a2
build: Add sample data and build
Jun 1, 2021
f294345
modal: Get a basic modal working
Jun 1, 2021
895d247
modal: encapsulate modal and make overlay click close
Jun 2, 2021
6e6ece6
radios: Fix radio buttons and apply events
Jun 2, 2021
bd5e3e3
build: Do another interim production build
Jun 2, 2021
9070bd0
fixes: Replace img with material icon, and fix link to grantnav
Jun 3, 2021
58aa58a
plotly: Add the vue-plotly dependency
Jun 3, 2021
0989ef3
data: display sample graphs and start building badges
Jun 7, 2021
9259b3f
build: Interim build
Jun 7, 2021
f0b47ca
filters: Add logic for the yet unknown filters
Jun 7, 2021
2b198f9
build: Interim build
Jun 7, 2021
0981c7f
filters: Add more filter funtionality
Jun 8, 2021
7cbd40d
variables: Add environment variables
Jun 8, 2021
3390e2a
submodule: Add the design system as a submodule
Jun 9, 2021
a30a2ea
api[WIP]: Start wiring up API data
Jun 9, 2021
d9eda14
styles: Use design system in the Vue templates
Jun 10, 2021
ab00394
data: Add more of the API data to the card templates
Jun 10, 2021
d32e43c
build: Interim build
Jun 10, 2021
6974aea
tidy: Move card data into files
Jun 10, 2021
459f2e0
filters: Turn off and add last modified option for posterity
Jun 10, 2021
e37e3b3
modal: Start feeding data to the modal
Jun 11, 2021
4809a62
modal: Update methods and clear out debug logging
Jun 11, 2021
f30934b
cardData: Add modal data to the cards
Jun 11, 2021
c727eed
WIP: Start getting the new API data
Jun 11, 2021
c5ad165
publisher-detail: Move insights button to file level, not publisher l…
Jun 11, 2021
2149334
overview: Sweeping improvements to the overview page
Jun 14, 2021
3b5710e
publishers: Get basic badges working
Jun 14, 2021
ff4749a
publishers: Remove mock data
Jun 14, 2021
1a80cdb
package.json: Add numeral
Jun 15, 2021
dad26e6
env: Tweak paths
Jun 15, 2021
897f70b
dashboard: Bug fixes and mocked data
Jun 15, 2021
490c0e3
topstats: Make seperate API call for this data
Jun 15, 2021
5f40ffd
publishers: Bug fixes and mocked data to all publisher pages
Jun 15, 2021
42511c8
topstats: Set number formatting
Jun 15, 2021
ab70568
publisher: Sort warnings and odds
Jun 15, 2021
0cd84e7
build: Interim build
Jun 15, 2021
8dfef29
tidy: Remove console.logs
Jun 15, 2021
abc5d68
publishers: Get the award years chart working
Jun 16, 2021
e55e682
filters: Update the filters
Jun 16, 2021
eb69fda
filters: some sorting
Jun 16, 2021
0b82643
filters: semi-working filter options
Jun 16, 2021
506fd2f
build: Interim build
Jun 16, 2021
9e20f69
publishers: FileSummary: Update location of total grants to aggregate
michaelwood Jun 28, 2021
754feda
publishers: FileSummary: Add GBP total
michaelwood Jun 28, 2021
f560108
components: Use single compiled css instead of per-components
michaelwood Sep 3, 2021
d360086
registry-vue: Update various variables for new stats api
michaelwood Sep 16, 2021
ed2b8ea
package-lock: Update new versions and packages
michaelwood Oct 20, 2021
833eaf9
DashboardPage: Set a 'hash' for which overview tab active
michaelwood Oct 20, 2021
4fe27ab
cards: Update overview cards with new copy.
michaelwood Oct 20, 2021
f9a4fed
badges: Update copy and add new badges
michaelwood Oct 20, 2021
391af70
PublisherPage: Remove the DataTable as we haven't implemented this
michaelwood Oct 20, 2021
b2f90a8
SortFilter: Comment out filters that aren't fully implemented
michaelwood Oct 20, 2021
bcd96bf
PublisherDetail: Fix title variable name and fix last modified date
michaelwood Oct 21, 2021
2aed28b
publisher: badges: correct var name GeoCodes -> GeoCode
michaelwood Oct 26, 2021
70a98aa
Update cards.js
KDuerden Oct 26, 2021
665d3fa
Update badges.js
KDuerden Oct 26, 2021
984b672
registry/dashboard: Make the root url / configurable
michaelwood Jan 24, 2022
9b26c55
git: Add gitattributes to mark 'binaries'
michaelwood Jan 24, 2022
0d460bb
registry: Update vue application built files
michaelwood Jan 24, 2022
ed3a30b
Procfile: use for dokku setup
michaelwood Jan 24, 2022
406174a
requirements: Update requirements files
michaelwood Jan 24, 2022
f2e804d
runtime: Specify python 3.8.10
michaelwood Jan 24, 2022
e35a9aa
github: workflows: Update to python 3.8
michaelwood Jan 24, 2022
6196f78
gitattr: Add further paths
michaelwood Jan 25, 2022
6ec677a
registry-vue: env.production: Set to live datastore
michaelwood Jan 25, 2022
7f9deef
registry-vue: Changes request prior to launch part 1
michaelwood Jan 25, 2022
7bd2ac4
Update PublisherDetail.vue
KDuerden Feb 3, 2022
6a3798b
Update cards.js
KDuerden Feb 3, 2022
46b33ea
registry-vue: Changes prior to launch part 2
michaelwood Feb 7, 2022
c7afa74
registry-vue: Add rebuild script
michaelwood Feb 7, 2022
d7c8257
dashboard: awardYears: Add 2022
michaelwood Feb 8, 2022
cf231f7
dashboard: Footer Add the correct links and fix broken logo
michaelwood Feb 8, 2022
43abba2
dashboard: router/tabs: Rename overview->alldata
michaelwood Feb 8, 2022
c5304da
dashboard: PublisherResult: Copy update
michaelwood Feb 8, 2022
95988ab
dashboard: vue rebuild
michaelwood Feb 8, 2022
15eed01
Remove extra s from badge
KDuerden Feb 9, 2022
e8e6cea
dashboard: vue rebuild
michaelwood Feb 9, 2022
31881aa
dashboard: update 360-ds
michaelwood Apr 14, 2022
094af92
dashboard: Update main.css
michaelwood Apr 14, 2022
f8602df
dashboard: Add new cookie consent dialog to dashboard
michaelwood Apr 14, 2022
c1c5091
dashboard: vue rebuild
michaelwood Apr 14, 2022
fcd3828
360-ds: Update module and rebuild
michaelwood May 23, 2022
bbfc165
dashboard: Update cookie code
michaelwood May 23, 2022
e04b2ea
dashboard: TopStats: Add funder count
michaelwood May 23, 2022
1f91461
dashboard: vue rebuild
michaelwood May 23, 2022
c63d5e2
Updating link from Data Registry to JSON feed
KDuerden May 26, 2022
a6130b3
cookie-consent: Update 360-ds and new code
michaelwood Jun 13, 2022
4529c6a
dashboard: vue rebuild
michaelwood Jul 4, 2022
74d598e
awardYears: Dynamically generate heatgraph data
Jul 27, 2022
a748e4b
awardYears: Reduce to 10 years previous
Jul 28, 2022
4a0c8ab
awardYears: Create bandings for heatmap
Jul 28, 2022
57e9e13
awardYears: Refactor and simplify
Aug 2, 2022
dca6d24
awardYears: Simplify if statement
Aug 3, 2022
d9f4774
Merge pull request #117 from ThreeSixtyGiving/awardYears
Aug 3, 2022
62f873c
static build: Intentional direct commit (no PR)
Aug 4, 2022
d83823e
filters: Switch to local sorting and filtering
Jul 29, 2022
5eebca6
sort: Ensure that sort works on the filtered list
Aug 2, 2022
669ed60
filters: Ensure sort is not clearable
Aug 3, 2022
c357efc
filters: Only initialise filters if params exist
Aug 4, 2022
cbb2989
index: Update files and index.html
Aug 4, 2022
e388254
filters: Refactor to prevent redundant navigation
Aug 4, 2022
0137ff1
filters: Ensure sort results not selection
Aug 4, 2022
aeae732
styles: Import new 360-ds build
Aug 9, 2022
e8ec91e
filters: Add clear button
Aug 9, 2022
922ad40
publishers: Update copy to show filters will be cleared
Aug 9, 2022
636a9de
filters: Update query parameters to friendlier copy
Aug 10, 2022
c0d3d40
filters: Update multiselect publisher copy
Aug 16, 2022
125575a
tests: Add selenium tests for dashboard
Aug 16, 2022
30cc772
readme: Update test instructions
Aug 16, 2022
ad26585
tests: Update query parameter
Aug 16, 2022
93e3f85
build: Commit latest static vue files
Aug 16, 2022
4e7ae79
Merge pull request #119 from ThreeSixtyGiving/filter-improvements
Aug 16, 2022
0ba7885
dashboard: Add Recipients Individuals and update field names
michaelwood Feb 3, 2023
1885810
registry: footer: Update urls
michaelwood Feb 3, 2023
f2d0922
requirements_dev: Add chromedriver autoinstaller
michaelwood Feb 3, 2023
7f08280
tests: Remove broken tests and replace with generic link checker
michaelwood Feb 3, 2023
b12ddfd
dashboard: Re-order top-stats after feedback
michaelwood Feb 3, 2023
a692bef
dashboard: rebuild vue application
michaelwood Feb 8, 2023
7d99045
360-ds: Update design system
michaelwood Feb 8, 2023
63ff2b3
dashboard: Update package-lock file
michaelwood Feb 8, 2023
abd5b22
github workflows: Add test to build vue application
michaelwood Feb 8, 2023
5ea90a6
Update address
codemacabre Feb 24, 2023
a503cab
Add missing full-stop
codemacabre Feb 24, 2023
1e01ed3
matomo: Add cookie expiry
codemacabre Apr 3, 2023
97eac19
tests_dashboard: Update test for publisher name order
michaelwood Apr 3, 2023
cad6eb1
matomo: Fix cookie max-age
codemacabre Apr 3, 2023
7f929ad
publishers: badges: Add hasRecipientIndividualsCodelists
michaelwood May 12, 2023
fa92f52
publishers: badges: Update mechanism for available/unavailable
michaelwood May 10, 2023
754a8e5
config: Upgrade dependencies
codemacabre Apr 25, 2023
33ec35b
assets: Fix incorrect path to checkmark-icon.svg
codemacabre Apr 25, 2023
a3e5fda
frontend: Add license icons
codemacabre Apr 25, 2023
384dcbc
frontend: Update 'See More' to more descriptive link
codemacabre Apr 25, 2023
81e56cd
frontend: Provide default param for getYears
codemacabre Apr 25, 2023
5fea23f
config: Update GH workflow to use node 18
codemacabre Apr 25, 2023
8c75f15
css: Update 360-ds
codemacabre May 2, 2023
7af5531
frontend: export badges separately
codemacabre May 9, 2023
53e7457
frontend: sort filter: Add badge filter
codemacabre May 9, 2023
2a09be7
css: rebuild css
codemacabre May 9, 2023
a7b977d
frontend: publisher details: Add publisher logo
codemacabre May 9, 2023
00a9327
frontend: publisher details: Sort grants by max_award_date
codemacabre May 9, 2023
9b896eb
frontend: file summary: Add hyperlink to Access URL & grant range text
codemacabre May 9, 2023
02fefbe
frontend: publisher details: Add Insights link to publisher page
codemacabre May 9, 2023
0c90b01
tests: Skip link test if Twitter blocking requests
codemacabre May 11, 2023
00e563d
tests: Perform lint
codemacabre May 11, 2023
b2ab3ed
frontend: components: topstats: Update copy
codemacabre May 11, 2023
8afd1e3
frontend: Update header
codemacabre May 11, 2023
30d533e
assets: Upload logos
codemacabre May 11, 2023
a40af95
frontend: Update footer
codemacabre May 11, 2023
15fc3c8
frontend: sort filter: Resume badge filter state from query params
codemacabre May 11, 2023
0082846
frontend: publisher result: Refactor chart data from awardYears
codemacabre May 11, 2023
2c77220
dashboard: rebuild vue application
michaelwood May 15, 2023
257af52
publishers: SortFilter: Temporarily disable feature filter
michaelwood May 18, 2023
9b594ae
dashboard: rebuild vue application
michaelwood May 18, 2023
60be408
config: Fix ESLint / Babel errors
codemacabre May 23, 2023
af920ff
frontend: filters: Switch filters to AND rather than OR
codemacabre May 23, 2023
7576aeb
frontend: publisher detail: Don't display img if no logo
codemacabre May 25, 2023
3825fe8
frontend: filters: Add include / exclude selections in filters
codemacabre May 30, 2023
43d6701
frontend: filters: Add clear filter buttons
codemacabre May 30, 2023
eff76b2
frontend: filters: Make SortMode consistent
codemacabre May 30, 2023
8698cc4
frontend: homepage: Adjust tab layout
codemacabre May 30, 2023
2960505
frontend: build
codemacabre Jun 1, 2023
a5459c0
frontend: components: Replace multiple spinners with 1
codemacabre Jun 1, 2023
7a43d09
frontend: filters: Fix duration filters
codemacabre Jun 2, 2023
d852658
css: Update design system & compile
codemacabre Jun 5, 2023
0853db7
css: Adjust PublisherPage margins
codemacabre Jun 5, 2023
7e07c2e
frontend: filters: Fix excluding duration filters
codemacabre Jun 5, 2023
29e6e14
frontend: Build Vue app
codemacabre Jun 5, 2023
88c57e4
frontend: accessibility: Add title to v-select options
codemacabre Jun 5, 2023
c87b25c
frontend: Update nav with signposting links
codemacabre Jun 20, 2023
f712273
frontend: Build Vue app
codemacabre Jun 20, 2023
344317a
frontend: badges: Update badge copy
codemacabre Jun 22, 2023
1ad59db
frontend: css: Update design system
codemacabre Jun 23, 2023
bfa952c
frontend: css: Add sidebar container
codemacabre Jun 23, 2023
a96d0cf
frontend: Build Vue app
codemacabre Jun 23, 2023
6ef9dd3
frontend: publisher detail: Update external links and position
codemacabre Jun 26, 2023
ff59d9c
frontend: Build Vue app
codemacabre Jun 29, 2023
a1d82d8
frontend: publisher page: Add number of search results
codemacabre Jul 6, 2023
ae5d877
frontend: Build Vue app
codemacabre Jul 6, 2023
1e13986
frontend: Update component names to fix lint warnings
codemacabre Jul 6, 2023
e55ab74
frontend: Fix lint error
codemacabre Jul 6, 2023
9d8034c
frontend: Build Vue app
codemacabre Jul 6, 2023
2279f99
dokku: Add CHECKS file
R2ZER0 Nov 20, 2023
2ee3bba
PublisherDetail: Make sure to take into account possible invalid files
michaelwood Nov 29, 2023
40002c2
Rebuild Vue app
michaelwood Nov 29, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
registry/static/vue-build/* binary
registry/static/vue-build/*/* binary
registry/templates/vue-build/* binary
registry/templates/vue-build/*/* binary
3 changes: 2 additions & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@ jobs:
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: 3.6
python-version: 3.8
architecture: x64
- uses: actions/cache@v1
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements_dev.txt') }}
- run: pip install -r requirements_dev.txt
- run: pip install -r requirements.txt
- run: flake8 .

8 changes: 5 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Test
name: Test registry
on: [push, pull_request]

jobs:
Expand All @@ -9,12 +9,14 @@ jobs:
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: 3.6
python-version: 3.8
architecture: x64
- uses: actions/cache@v1
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements_dev.txt') }}
- run: pip install -r requirements_dev.txt
- run: python -m pytest
- run: pip install -r requirements.txt
- run: python -m pytest tests/
- run: MODE="dashboard" python -m pytest tests_dashboard/

17 changes: 17 additions & 0 deletions .github/workflows/test_dashboard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Test dashboard
on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 18
cache: 'npm'
cache-dependency-path: registry-vue/package-lock.json
- run: cd registry-vue; npm install; npm run build
- run: git status

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
.vscode/

get-pip.py
*.pyc

chromedriver/
__pycache__/
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "360-ds"]
path = 360-ds
url = https://github.com/ThreeSixtyGiving/360-ds
1 change: 1 addition & 0 deletions 360-ds
Submodule 360-ds added at ed8a79
13 changes: 13 additions & 0 deletions CHECKS
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Dokku checks
# Require that the app is up (URL returns 200) before migrating traffic.
#
# Wait 10 seconds between checks
WAIT=10
# Timeout after a minute
TIMEOUT=6
# Attempt checks 10 times
ATTEMPTS=10

# Check root URL
/

2 changes: 1 addition & 1 deletion Procfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
web: flask run --host=0.0.0.0 --port=5001
web: gunicorn registry.views:app
44 changes: 35 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,47 @@ To download all the files listed in the registy, the 360Giving [datagetter](http

Install dependencies:

```bash
python3 -m venv .ve
source .ve/bin/activate
pip install -r requirements_dev.txt
```
$ python3 -m venv .ve
$ source .ve/bin/activate
$ pip install -r requirements_dev.txt

This project uses pip-tools. To update the requirements files, run:

```bash
pip-compile requirements.in
# or
pip-compile requirements_dev.in
```

Run:
This project uses PyScss. To update the compile css file, run:

Server
```bash
pysassc registry/sass/main.scss registry/static/css/theme.css
```
$ export FLASK_APP=registry/views.py
$ python -m flask run

To run the registry tests:
```bash
python -m pytest tests/
```

Tests
To run the dashboard tests:
```bash
MODE='dashboard' python -m pytest tests_dashboard/
```
$ python -m pytest

In order to run the application see the relevant commands below:

**Development**
```bash
export FLASK_APP=registry/views.py
export FLASK_ENV=development
python -m flask run
```

**Server**
```bash
export FLASK_APP=registry/views.py
python -m flask run
```
1 change: 1 addition & 0 deletions registry-vue/.env.development
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
VUE_APP_DATASTORE_API=https://store.data.threesixtygiving.org/api/dashboard/
1 change: 1 addition & 0 deletions registry-vue/.env.production
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
VUE_APP_DATASTORE_API=https://store.data.threesixtygiving.org/api/dashboard/
23 changes: 23 additions & 0 deletions registry-vue/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
.DS_Store
node_modules
/dist


# local env files
.env.local
.env.*.local

# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
38 changes: 38 additions & 0 deletions registry-vue/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# registry-vue2

## Project setup
```
npm install
```

### Compile theme
Make sure the git submodule is checked out and the theme is compiled
```
cd 360-ds
npm install
npm run compile-sass -- --path ../registry-vue/src/assets/styles/
```


### Compiles and hot-reloads for development
```
npm run serve
```

### Compiles and minifies for production
```
npm run build
```

### Lints and fixes files
```
npm run lint
```

### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

# Registry, Flask, Vue and You

At present the vue application is set to build into the flask application at the default folders in the subdirectory `vue-build`.
You can run the vue application for development as above (i.e. `npm run serve`), but you can also do a production build into the flask application and run it through flask as per the root `README.md`.
5 changes: 5 additions & 0 deletions registry-vue/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}
Loading