β›Ί

Campground

β€œAlways leave the campground cleaner than you found it.” - BOY SCOUTS RULE
Campground refers to the collection of more mundane dev tasks for general code quality, from an initial review of BB.
Β 
Testing Guidelines
Clean Github Repo
DONE
Lots of branches, PRs and issues that need to be reduced. Really hard to know where to start with so much changing.
Best thing seems to be we do the reviews so that unneccessary branches can be cleaned up ASAP
Code Coverage and Test Suite
IN PROGRESS
We have very low code coverage, it's fine for a prototype, but we're going to be deploying to live customers soon, so:
  • Aims:
    • Achieve, say, 90% coverage before EoY
    • No bullshit tests, get the interface tested, above and beyond private methods
    • Get some decent integration and E2E tests in place
    • Β 
  • It's easy to knock coverage, but coverage targets do ensure at least some care and attention is taken to:
    • Writing testable code
    • Having some degree of stability when it comes to integrating features
    • It's still on the developer to write useful tests
Β 
Campground work here:
  • Start tracking coverage and surface in standups
Documentation
ONGOING
The project documentation is really good on BB, I think the developer documentation should also be good.
  • As a guest pass, I can't be bothered to run all my edits through GH PRs, so I think notion is a great alternative that anyone can contribute to.
Β 
Campground work here:
  • The feature developer should contribute documentation in the notion, to accompany their changes. Should be accessible to technical users who are not full time SWEs
Onboarding
ON HOLD
  • Ideally, we should be making onboarding easy, some simple options:
    • Dockerise the application, including a seeding script for a local mongo container - Done for mongo - Not a priority right now
      • Best would be to have hot reloads and bind mounts attached to the react app, then you have a one click dev environment
    • Remove all the competing seeding JSON files, they're really confusing. - Done
    • Improve the onboarding documentation
Β 
Potential Campground work here:
  • We should make every new feature compatible with a one line docker-compose up to ensure we have simplicity baked in for new joiners.
Code Structure
Done
Large Javascript SSR Apps can get quite unweidly. There's a few areas we can improve:
  • Service & Controller separation of the API layer - Done
  • More modularity in some of the view components (we have a couple of cases of index.tsx files that could be nicely broken up) - Done
  • Some state management that doesn't require shuttling variables up and down the props hierarchy (Redux, for example) - Done (Context)
Β 
Campground Work Here:
  • Keep files small, and preferably, build out new components into new files so it's easier to review them in their totality.
  • Make some (small) refactors over time to break down the larger index files
Β 
β›Ί

Campground

β€œAlways leave the campground cleaner than you found it.” - BOY SCOUTS RULE
Campground refers to the collection of more mundane dev tasks for general code quality, from an initial review of BB.
Β 
Testing Guidelines
Clean Github Repo
DONE
Lots of branches, PRs and issues that need to be reduced. Really hard to know where to start with so much changing.
Best thing seems to be we do the reviews so that unneccessary branches can be cleaned up ASAP
Code Coverage and Test Suite
IN PROGRESS
We have very low code coverage, it's fine for a prototype, but we're going to be deploying to live customers soon, so:
  • Aims:
    • Achieve, say, 90% coverage before EoY
    • No bullshit tests, get the interface tested, above and beyond private methods
    • Get some decent integration and E2E tests in place
    • Β 
  • It's easy to knock coverage, but coverage targets do ensure at least some care and attention is taken to:
    • Writing testable code
    • Having some degree of stability when it comes to integrating features
    • It's still on the developer to write useful tests
Β 
Campground work here:
  • Start tracking coverage and surface in standups
Documentation
ONGOING
The project documentation is really good on BB, I think the developer documentation should also be good.
  • As a guest pass, I can't be bothered to run all my edits through GH PRs, so I think notion is a great alternative that anyone can contribute to.
Β 
Campground work here:
  • The feature developer should contribute documentation in the notion, to accompany their changes. Should be accessible to technical users who are not full time SWEs
Onboarding
ON HOLD
  • Ideally, we should be making onboarding easy, some simple options:
    • Dockerise the application, including a seeding script for a local mongo container - Done for mongo - Not a priority right now
      • Best would be to have hot reloads and bind mounts attached to the react app, then you have a one click dev environment
    • Remove all the competing seeding JSON files, they're really confusing. - Done
    • Improve the onboarding documentation
Β 
Potential Campground work here:
  • We should make every new feature compatible with a one line docker-compose up to ensure we have simplicity baked in for new joiners.
Code Structure
Done
Large Javascript SSR Apps can get quite unweidly. There's a few areas we can improve:
  • Service & Controller separation of the API layer - Done
  • More modularity in some of the view components (we have a couple of cases of index.tsx files that could be nicely broken up) - Done
  • Some state management that doesn't require shuttling variables up and down the props hierarchy (Redux, for example) - Done (Context)
Β 
Campground Work Here:
  • Keep files small, and preferably, build out new components into new files so it's easier to review them in their totality.
  • Make some (small) refactors over time to break down the larger index files
Β