# Colouring cities kick off meeting 5th January 2021
## Proposed REG tasks
- Some more specific details than the below in [this issue](https://github.com/colouring-london/colouring-london/issues/680)
- Server VM setup/management
- Review what has already been set up on
- Improve the automation of (re)provisioning a VM for London and prepare whole VM template for other cities.
- Automate CI/deployment pipelines:
- Build and release from GitHub to staging/production through GitHub Actions (currently only a CI task is set up)
- Think about some automation of database schema updates and better db migrations setup (currently all manual / git-based)
- Improve testing setup (currently only a few unit tests)
- Help set up an integration testing environment/pipeline (would help greatly for automated dependency updates)
- Help set up front-end testing
- Tile server improvements - the tile server is a custom implementation in Node+Mapnik due to having to render building data visualisation as raster tiles because of OS licensing.
- Review if possible to use a more off-the-shelf solution that would help with the below points, or
- Improve tile cache control, build utilities for easier clearing of cache for selected layers, regions, etc
- Add some request priority control, which would help with keeping the app smooth (as even things like building selection highlight is sent as raster, again due to OS limitations)
- Build a way for less technical users to easily edit data map styles. Currently works by editing Mapnik XML files - sometimes hard even for programmers. E.g. look at whether it's possible to combine the raster tiles requirement with a style specification like the Mapbox JSON, which can be edited with GUI tools like Maputnik
## Notes
Generating data computationally through inference (AI)
- not front-end
- but back-end management or data merging/inference?
- We are trying to infer things that the tax office has on buildings based on age, then get citizens (locals) to check these things (crowdsourcing)
- The site is a tool for the crowdsourcing, like with openstreetmap, the dataset is the product
- relation to the historial maps project
- layer one or two historical maps into the system
- proving a point that open data is worth it
- Meet with Tom on technical side of things
- Working practices, github, slack etc
- Mateusz on front-end updates for new data requirements
- Is all data crowdsourced apart from the Ordnance Survey polygons?
# Meeting 11th January
## Questions
- What is Tom/Mateusz role for the project duration?
- Minimal, can giver overview
- Mateusz (still working on, not regular) and Matcheck, worked on dev work more recently
- **EC:** Get Tom Russel or Mateusz Konieczny to add EC as contributor to [repo](https://github.com/colouring-london/colouring-london)
- **EC:** Also get one of them to show EC VM setup/management (Azure?)
- **EC:** Should I use an existing project board?
- If not I will create GH issues for above tasks and set up project board (follow [template](https://github.com/colouring-london/colouring-london/projects) in the colouring-london repo)
- Prioritise and have milestones (dates) signed off by team
- I should probably set up my own project board and break down Polly's
- Might be worth sorting through the open issues in a session
- Milestones aren't useful and could probably be deleted
- Think about GH branches, contributor guidelines
- Set up blocks to mergeing
- Document this and so we can have release branch, especially if there is a Terraform
## Notes
- Room for improvement around integration and deployment, so currently, there is VM with the repo cloned and setup carried out
- Terraform and Ansible setup scripts would be super valuable but not urgent
- Would be useful to help me understand the setup
- I should have access to the VM in Turing - get access to colouring London subscription at Turing Azure
- setup of website: https://github.com/colouring-london/colouring-london/blob/master/docs/setup-production-environment.md
- deploy template: https://github.com/colouring-london/colouring-london/issues/new?assignees=&labels=&template=deploy.md&title=
- ^ template when you make a new issue
- VMs each have IP addresses, might need to get Azure to manage the DNS record to associate IP with domain (test with staging)
- Big priority task: updating the polygons, with the latest OS (2021), currently 2016 - first task after familiarisation with codebase
- Include method to auto-update/build the colouring london dataset with new OS releases
- Take the OS polygons as buildings (ignore the philosophical implications)
## EC TODOs week 10th Jan:
1. [ ] Run colouring London locally
2. [x] Request to be in colouring London Azure sub with IT
3. [ ] Log into the VM and see what the commit of the repo the setup was done at
4. [ ] Propose in the Friday meeting to have a mega sort-through session of issues in order for me (Ed) to have a project board for the 8 months (any timelined milestones, but ideally just project board unless there are specific deadlines for things)
5. [ ] Perhaps try a fresh setup on another VM? (this will help with the Terraform-ing)
6. [ ] Should we set up github discussions
## Meeting 14th Jan
- Only Matchek as access to the Azure, Polly should email instroducing us, he is no longer funded on the project
- doodle for the 2hr session
- Look at Mateusz PR?
- using the OSM for testing
- Mateusz has docs for the VMs setup
- The terraform stuff can be based on stuff in here: https://github.com/colouring-london/colouring-london-config
- there's also a vagrant script: https://github.com/colouring-london/colouring-london/blob/master/provision/vm_provision.sh
- Documentation could be a big thing to work on, but not the readthedocs as no docstrings
- There is a wiki (no info) that could be for entire projects - gitbook maybe? Have a look at the options, needs to be not too hard for Polly to edit
- Maybe look at the issues and add the below if not already there:
Main priorities:
- Documentation in the README and docs
- Find everything from readme
- Docstrings wherever possible
- *gibook for a later date*
- Updating the setup (terraform)
- Updating the polygons