Development

…rough outline and notes, backlog item to refine is pending…

Installation of requisite tools

  • homebrew, the start of so many journeys
  • python 3.11
    • installed pyenv via homebrew, instealled python 3.11 via pyenv
  • docker, for running tests
  • act, for running GitHub Action pipeline
    • v0.2.76 installed via homebrew
  • mysql database, for dev/testing
    • installed v9.2 via homebrew, v8.4.4 used in prod
  • mysql workbench, used for db setup and operations
  • ruby, for building/testing ghpages docs
    • installed rbenv via homebrew, installed ruby 3.2.8 via rbenv

Project Source structure

Source: https://github.com/dandoug/readinglist

Branches:

  • main - branch for code
    • create code development branches based from here
  • gh-pages - branch for doc
    • create documentation branches from here

Use PRs to get work merged.

Project tracking

Deployment

AWS Elastic Beanstalk configuration

SSL Certificate Generation

Secrets

Testing

Running integration tests locally

Running Github Action pipeline locally

act -P ubuntu-latest=ghcr.io/catthehacker/ubuntu:act-latest --env-file "testing/integration/.env.testing" --secret-file .secrets

Running Jekyll locally

To test docs locally

bundle exec jekyll serve --config "_config.yml,_config_dev.yml"

Development metrics

Pylint Score   Test Line Coverage   Bandit Severe Hits Radon Cyclomatic Complexity   Radon LOC   Prospector Message ratio

Pylint

Pytest

Bandit

Radon

Prospector